yigal_s: (Default)
[personal profile] yigal_s
1. Semaphores
2. Monitors (conditional variables).
3. Messages, рандеву, remote calls, actors (пока не разобрался, одно ли это и то же концептуально, или есть разница. Вообще, в принципе, больше "слышал звон", чем "в теме". Потихоньку разберусь)
4. transactional memory - несколько дней назад где-то ссылку на это дело подобрал.

Интересно, есть еще что-то неупомянутое?

-----
Upd: собственно, в списке представлена некоторая линия эволюции (хотя линейной эволюции в реальности, видимо, не было в точности) способов "синхронизации", вернее, написания мультитредного кода.

Date: 2007-01-24 05:44 pm (UTC)
From: [identity profile] cmm.livejournal.com
в том-то и дело: для реляционных баз данных проблема решена: давно, строго и формально (если я ничего не путаю, да).

Date: 2007-01-24 05:53 pm (UTC)
From: [identity profile] cmm.livejournal.com
написание функции для вычисления факториала требует программирования, при котором в принципе неизбежны баги.  но чёткое знание того что мы делаем очень помогает.

Date: 2007-01-24 09:06 pm (UTC)
From: [identity profile] cmm.livejournal.com
вообще всё дело в правильных абстракциях.
вот взять то же ядро юникса: это же очень сложная и чудовищно граблесодержащая вещь — включая и грабли параллельного доступа к общим ресурсам, причём не только к памяти!  но экономика предоставляет нам возможность взять готовую реализацию и рассматривать её как чёрный ящик.