Вверх ↑
Ответов: 3889
Рейтинг: 362
#1: 2012-02-23 22:18:15 ЛС | профиль | цитата
Neo писал(а):
это правильный перенос данных из системного потока в параллельный? code_26985.txt

Да, в целом - правильный. Wait гарантирует запись в память ценой ожидания, пока из неё произойдёт чтение. Но такой алгоритм постоянно (каждые 20 мс) считывает Memory параллельным потоком, даже если изменений ещё не производилось.

Один из интересных способов общения - назначение событий (Events) и реакция на них (WaitObject). Интересно, что события, по идее, могут обрабатываться не только потоками Вашего приложения, но и другими приложениями То есть регистрируем в системе событие - doCreate в Events, передаёте как параметр командной строки ObjHandle (его тип - Integer) всем аффилированным процессам или потокам. Потом, в цикле, те процессыпотоки делают doWait WaitObject. Если Вы куда-то записали что-то, через doSet поднимаете флаг события, и все, кто знал его ObjHandle, смогут соответствующим образом среагировать. Такая глобальная синхронизация потоковприложений. На другие учётные записи не действует, могут быть проблемы синхронизации с приложениями, запущенными под администратором и нет.
карма: 1

0