Тренінг з многопоточності…

..на який я ходив 3 останні дні, чому і не писав нічого, виявився доволі корисним і пізнвальним.

До речі що це за “Багатонитевість”?! Це офіційний переклад, чи як? Звучить доволі криво як на мене.

Так от, тренінг цікавенький, 3 дні по 4 години. Не надто технічний, але інформативний. Дядько який раніше працював у різних проектах типу PlayStation, XBox, Intel Vtune, а зараз займається проблемами портування Windows на ARM-процесори розказував цікаве про особливості роботи сучасних “десктопних” процесорів, кешу, шин даних та оптимізацій компілятору.

Далі була класика – критичні секції, interlocked-операції, м’ютекси, івенти та семафори. А також нововведення Windows Vista та Windows 7 – conditional variables та slim reader writer locks.

Написали самі кілька “лабораторних” – spin lock, memory barrier та розпаралелювання обчислень на матрицях.

Головний висновок – уникайте розпаралелювання як тільки можна, інакше уникайте синхронізації якщо можна, інакше уникайте самі писати примітиви синхронізації. І ніколи, НІКОЛИ не пишіть lock-free алгоритми! Smile

Все, звітував.