Мультитрединг - как победить дракона
Jan. 24th, 2007 06:29 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
1. Semaphores
2. Monitors (conditional variables).
3. Messages, рандеву, remote calls, actors (пока не разобрался, одно ли это и то же концептуально, или есть разница. Вообще, в принципе, больше "слышал звон", чем "в теме". Потихоньку разберусь)
4. transactional memory - несколько дней назад где-то ссылку на это дело подобрал.
Интересно, есть еще что-то неупомянутое?
-----
Upd: собственно, в списке представлена некоторая линия эволюции (хотя линейной эволюции в реальности, видимо, не было в точности) способов "синхронизации", вернее, написания мультитредного кода.
2. Monitors (conditional variables).
3. Messages, рандеву, remote calls, actors (пока не разобрался, одно ли это и то же концептуально, или есть разница. Вообще, в принципе, больше "слышал звон", чем "в теме". Потихоньку разберусь)
4. transactional memory - несколько дней назад где-то ссылку на это дело подобрал.
Интересно, есть еще что-то неупомянутое?
-----
Upd: собственно, в списке представлена некоторая линия эволюции (хотя линейной эволюции в реальности, видимо, не было в точности) способов "синхронизации", вернее, написания мультитредного кода.
no subject
Date: 2007-01-24 09:02 pm (UTC)загнать-то можно (типа CPU + память = такая большая машина состояний, далее везде), толку только с таких теорий. практикующие теоретики (хихи) предпочитают атаковать проблему формализации со стороны упрощения моделей, а не совершенствования теорий — видимо, у них есть на это хорошие причины. :)
> Вы, кстати, не знакомы вот с этой работой?
ой, нет. я на самом деле в математике очень слаб...
no subject
Date: 2007-01-24 09:26 pm (UTC)А как Вам следующее утверждение? Вроде бы, авторы утверждают, что святой грааль мультитрединга уже обнаружен:
Another great thing about [...] channels is that it has a formal
mathematical foundation, namely CSP, CCS, LOTOS and others. These theories provide design rules or guidelines for writing reliable concurrent software. Semaphores and monitors have no formal foundation, they simply work. From CSP there are several programming languages derived
см. далее http://groups.google.com/group/comp.realtime/msg/be9177cdd85c52a6