Re: С# многопоточность
От: Victor Hytyk Украина  
Дата: 11.04.12 07:22
Оценка:
Здравствуйте, Roman039, Вы писали:

R>Добрый день.

R>Есть приложение в котором надо организовать два процесса (или потока): один основной, второй дополнительный. Дополнительный поток не ограничивается выполнением одной операции. Он должен "жить" на протяжении всей работы приложения. Он должен при обработке одного из своих внутренних событий: сигнализировать основному потоку о произошедшем событии и приостановить свою работу пока не будет получен ответ от основного потока. С приостановками работы все понятно (через WaitEventHandler). Вопрос с передачей управления между потоками. Вообщем вопрос: как можно из дополнительного потока передать сигнал в основной поток, так чтобы следующие действия выполнялись именно в основном потоке?

двойной AutoResetEvent, один в основном потоке, другой в дополнительном. Подробнее в статье
Автор(ы): Joseph Albahari
Дата: 24.03.2007
Подробно рассматривается работа с потоками — запуск, завершение, прерывание, блокировки, синхронизация, контексты синхронизации, особенности взаимодействия с апартаментами, а также потоковые возможности .NET — потоковые таймеры, пулы потоков, BackgroundWorker, асинхронные методы и делегаты.
В статье использован материал из книги Joseph Albahari, Ben Albahari "C# 3.0 in a Nutshell" — http://www.oreilly.com/catalog/9780596527570/
, глава AutoResetEvent (подглава "получите и распишитесь").
-----------------------------------------
тут может быть ваша реклама
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.