Многопоточность

Я всегда боялся многопоточности, старался избегать ее всеми возможными путями. Еще в институте, когда у нас на занятиях по программированию началось изучение оной, я старался избежать расплаты 🙂 страшные названия мьютекс, семафор, критическая секция и прочие ввергали меня в панику.
Это первая часть вступления, теперь вторая 🙂
Меня давно манили сети, те, которые компьютерные, мне было интересно читать рассказы про хакеров, описания эксплойтов и прочую “околобезопасностную” байду, возможно именно поэтому я когда-то согласился саппортить несколько юникс-серверов. Я изучал юникс, сетевую безопасность и вообще работу сетей на практике, и наверно это и пнуло меня согласиться на участие в разработке сетевой части в нашем текущем проекте. И тут я понял – сетевой код без многопоточности – это практически нонсенс… И мне пришлось изучать потоки и все те страшные вещи, которых я так боялся. Результат меня несколько поразил – оказывается, насколько проще можно было бы реализовать то многое, что я когда-то делал, если делать его в несколько потоков. Многопоточность – это очень полезный инструмент и теперь я его пытаюсь ткнуть куда только можно, пройдет некоторое время и придет понимание – где это надо, а где нет 🙂

Собсно выводом из этого всего можно сделать следующее: “Знание сила, и если есть возможность что-то узнать или чему-то научиться, то надо это сделать”. Не надо бояться или говорить “я как-нить без этого справлюсь”, как вы можете так утверждать, если вы этого не знаете, или не умеете? 🙂