Существует одно соединение WCF с использованием TCP. Два потока на сервере записываются в это соединение последовательно. Всегда ли гарантировано, что первое сообщение сначала обрабатывается клиентом? По моему мнению, это должно быть гарантировано.Правильный порядок TCP-сообщений WCF гарантирован для нескольких потоков отправки?
ответ
«Канал» является последовательным, поэтому я думаю, что ответ здесь Да.
Но с 2 (независимыми) потоками значение «первый» не определено.
Я подумал об этом немного больше, и я считаю, что этот вопрос глуп. Почему WCF должен заботиться о том, какой поток записывает на канал?
Операция записи на канал является атомарной, и передача TCP гарантируется. Как отметил Хенк, канал полностью последователен. Это всегда будет происходить на клиенте в том же порядке.
Я думаю, что вопрос Хенка (что подразумевается под «первой» нитью) очень интересен.
Учитывая, что потоки могут быть приостановлены в любой момент, возможно ли, что Thread A может завершить выполнение метода Send() до Thread B, но Thread B является первым, кто вернется в код пользователя?
С точки зрения вызывающего, было бы похоже, что Thread B завершил отправку первым.
- 1. Send/ReceiveAsync: гарантирован порядок звонков?
- 2. Гарантирован порядок инициализации
- 3. AJAX - гарантирован порядок исполнения?
- 4. Гарантирован порядок списка в ConcurrentDictionary?
- 5. Передача нескольких потоков в WCF
- 6. Гарантирован ли хронологический порядок протоколирования сообщений?
- 7. Гарантирован порядок загрузки .dll с использованием% PATH%?
- 8. Правильный порядок для предложения
- 9. Гарантирован ли заказ SKNode.nodesAtPoint?
- 10. несколько потоков для отправки писем
- 11. пулы потоков esper с контекстами и порядок отправки подписчиков
- 12. Сокет Linux, использующий несколько потоков для отправки
- 13. Правильный способ использования потоков
- 14. SQL - Какой порядок обновления работает над таблицей, гарантирован ли он?
- 15. boost: порядок выполнения потоков
- 16. C++ Порядок выполнения потоков в пуле потоков
- 17. CUDA порядок выполнения потоков
- 18. Порядок обработки многоядерных потоков
- 19. Java. Порядок выполнения потоков
- 20. Пул потоков Java ExecutorService: порядок выполнения потоков
- 21. Как надежные сеансы WCF влияют на порядок отправки сообщений?
- 22. Порядок запуска событий для кнопки отправки
- 23. Правильный шаблон для многопунктовых потоков с обещаниями
- 24. Выполнение заказа нескольких потоков
- 25. При обновлении нескольких таблиц MySQL в одном запросе всегда гарантирован порядок присваивания?
- 26. В обещаниях, гарантирован ли заказ обратного вызова?
- 27. правильный порядок классов псевдо
- 28. Несколько потоков в wcf
- 29. Каков правильный способ выполнения нескольких операций в очереди потоков?
- 30. Случайные числа для нескольких потоков
Я думаю, что это точно определено. Операции записи являются атомарными, поэтому «первый» поток ... ну ... первый поток для записи. Не имеет значения, какой поток принадлежит им. – mafu
Я имел в виду логику (между) вашими нитями. –