Re[8]: С# многопоточность
От: Roman039  
Дата: 11.04.12 14:58
Оценка:
Здравствуйте, HowardLovekraft, Вы писали:


HL>Выделенное полужирным можно заменить чем угодно. Это "что угодно" обладает следующими характеристиками:

HL>- оно выполнится в UI-потоке (UI-поток оповещен и выполняет какой-то код);
HL>- пока оно не выполнится, рабочий поток, из которого было сгенерировано событие, будет остановлен (DataArrived будет вызван из рабочего потока, но остановится на context.Send и будет ждать его завершения).

HL>Где вы тут собираетесь использовать два потока и "два экземпляра EventWaitHandler" —

HL>Либо у вас какой-то экзотический "компонент", о котором вы что-то не договариаете.

Подскажите, а такой манёвр (переключение контекста синхронизации) возможен только при использовании UI-потока? Вообщем если инициализировать контекст в форме, то все работает как требуется. А если попробовать реализовать подобную схему с обычными (не UI) классами, то значение SinhronizationContext.Current сбрасывается в null и фактического переключения не происходит. Можно переключать контекст не на UI-поток?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.