Показать сообщение отдельно
Старый 18.04.2007, 18:41   #7  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от SHiSHok Посмотреть сообщение
про потоки и асинхронность хорошая идея. Но я с ними не работал поэтому надо будет детально изучить механизм, а как обычно все должно быть сделано уже и давно ,поэтому пока оставлю так. Может вкратце справочные материалы изложите по работе с потоками.
Вкратце смотреть надо не только в сторону работы с потоками, но и на работу с объектами синхронизации в Windows. Среди таких объектов: семафоры (semaphore), взаимоисключения (mutex), события (event)... Плюс есть набор инструментов для работы с разделяемыми ресурсами, типа критических секций, SRW-блокировок, interlocked-переменных, etc. Так вот, сценарий работы будет примерно такой: основной поток создает объекты синхронизации (скажем, event'ы), очередь заданий (адресаты для отправки сообщений) и параллельный поток для обработки этих заданий. Параллельный поток после создания ждет какого-то события, которое означало бы, что в очереди есть задания на обработку, а также события, которое бы означало, что заданий больше не будет, и надо завершить свою работу. Затем в основном потоке начинается какая-то обработка, по ходу которой в очередь помещаются задания, и "дергается" соотв. объект синхронизации, чтобы фоновый поток мог начать их обработку. После окончания работы в основном потоке "дергается" еще один объект синхронизации, по которому фоновый поток завершает свою работу. Ну это так, на вскидку
Работу с потоками и объектами синхронизации можно посмотреть по следующим ссылкам
AOS и многопроцессорная машина - синхронизация потоков
Фоновый поток в Аксапте
Фоновый поток - реализация концепции агента
Фоновый поток - через AOSLoadGen
ERPKB : Таймер без формы
За это сообщение автора поблагодарили: SHiSHok (2).