al() для активизации программн

Автор admin Суббота, 27 июня 2009 11:32

al() для активизации программного потока. Этот пример отличается от предыдущего тем, что в нем (по крайней мере, на концептуальном уровне) производятся объекты («тосты»). Частота создания объектов подвержена случайным отклонениям, чтобы в работе программы участвовал фактор неопределенности. Но при запуске выясняется, что автомат не работает, потому что многие тосты так и остаются в своем исходном виде: не намазываются ни маслом, ни джемом. Решение проблем многопоточности с помощью очередей Многие проблемы многопоточности связаны с необходимостью последовательного выполнения задач. Программа ToastOMatic.cpp должна не только последовательно обрабатывать создаваемые тосты, но и работать с одним тостом, не беспокоясь о том, что следующий тост тем временем упадет на пол. Нередко проблему удается решить использованием очереди с синхронизированным доступом к элементам: //: Cll:TQueue.h #i fndef TQUEUE_H #define TQUEUE_H #i nclude #include “zthread/Thread.h” #include “zthread/Condition.h” Кооперация между программными потоками 577 linclude “zthread/Mutex.h” linclude “zthread/Guard.h” tempiate


Комментарии закрыты.