Вверх ↑
Ответов: 4628
Рейтинг: 749
#1: 2016-12-13 11:58:18 ЛС | профиль | цитата
Gunnman писал(а):
происходят от 1 потока?

Gunnman писал(а):
просто выдаются поочередно
Оба варианта сразу: каждый компонент получает данные в своём потоке (2 потока), но выдают данные по-очереди: точка события то одна. Вызывать одно и то же событие одновременно из нескольких потоков (пока не отработало предыдущее событие) невозможно - будет разрушение данных в схеме после события, и разрулить это никаким образом невозможно.
Максимум, можно вызывать, например, onReceive одного подключения и onConnect/onDisconnect/onSend других подключений. Но это, во-первых, вынуждает избавиться от общих точек, таких как CurClientID (выдавать все нужные данные в MT-потоке), во-вторых, требует обязательной установки критических секций на выходе из этих событий при доступе к общим участкам схемы (очень скрупулёзного построения схемы). Выигрыш от этого незначительный (только некоторые части схемы получат параллельную обработку, а некоторые так и останутся последовательными, плюс, увеличится сложность разработки схемы).
карма: 26

0