Я ищу лучший способ отправки сообщений (с точки зрения производительности).
У меня есть цикл сообщений следующим образом:
while (true)
{
if (_outboundMessages.Count == 0)
{
Thread.Sleep(100);
continue;
}
var message = _outboundMessages.Dequeue();
SendMessage(message, _tradeStreamSSL);
}
У меня есть другие потоки, которые по желанию добавляют сообщения в очередь сообщений.Я хочу избежать Thread.Sleep (100), я думал о AutoResetEvent / ManualResetEvent (цикл сообщений будет ожидать сигнализацию из других потоков), но есть хорошие шансы для возникновения состояния гонки.
Примечание:Важное правило: каждое сообщение должно быть передано как можно быстрее.
Есть идеи?
Спасибо !!