Может ли запуск нескольких асинхронных операций чтения / записи в одном потоке повредить данные?

Я использую асинхронный ввод-вывод, потому что он не блокирует вызывающий поток и выполняет обработку потоков незаметно. Если я вызываю несколько асинхронных операций, таких как BeginWrite (), в одном потоке, следует ли мне беспокоиться о том, что содержимое буфера данных смешано вместе?

Предположим, я хочу отправить 3 буфера:

Buffer1: 1111111111
Buffer2: 2222222222
Buffer3: 3333333333

Я не Обратите внимание, если буферы отправляются в неправильном порядке, поэтому

333333333311111111112222222222

в порядке, но возможно ли, что содержимое буфера полностью смешано вместе?

122213121212122333313111223333

PS: I ' на 100% уверен, что кто-то уже спрашивал об этом в той или иной форме ...

6
задан Calmarius 20 May 2011 в 20:41
поделиться