воскресенье, 20 июля 2014 г.

[prog.thoughts] Чтобы писать надежные многопоточные приложения...

...с использованием таких низкоуровневых механизмов как нити, мутексы/семафоры/мониторы, не говоря уже про еще более низкоуровневые средства вроде атомиков и барьеров, нужно:

  • либо быть очень умным человеком, чтобы уметь перебирать в голове все те невероятные комбинации событий, которые могут случится при активном взаимодействии нескольких потоков, и писать код, изначально учитывающий все это многообразие;
  • либо же иметь особую карму (суть "эффект Паули", суть "генеральский эффект", суть "везение на баги"), чтобы подавляющее количество багов вылазило на поверхность при небольшом количестве запусков небольшого количества тестов, имитирующих небольшое количество возможных ситуаций.

Ну и плюс к тому, нужно быть чрезмерно самоуверенным и крайне оптимистичным разработчиком, чтобы ввязываться в такие авантюры :)))

Комментариев нет: