Я реализую многопоточный веб-сервис. Поток создается для каждого входящего запроса. Для каждого клиента создается сеанс, и каждый сеанс содержит раздел данных — скажем, дерево DOM. Клиентские запросы в основном будут методами получения/установки, а сервер будет читать/записывать DOM.
Таким образом, данные DOM относятся к каждому клиенту.
Теперь мой вопрос: должен ли сервер рассматривать это дерево DOM как критическую секцию?
В основном вопрос заключается в том, будет ли сценарий, в котором сервер имеет два потока, обслуживающих одного и того же клиента?
Запрос/ответ - это SOAP через tcp. Насколько я понимаю, клиент TCP не может отправлять одновременные запросы, даже если клиент многопоточный. Так что на стороне сервера у меня не будет ситуации, когда два потока предназначены для одного и того же клиента. Пожалуйста, поправьте меня, если я ошибаюсь, я новичок в программировании клиент-сервер tcp/ip.
Спасибо.