У меня есть 2 потока, работающих одновременно, и каждый пишет в() поток socket.Send,Каскадный Socket.Send()
While (soc.Connected)
{
byte[] byData = new byte[2];
byData = System.Text.Encoding.ASCII.GetBytes("A");
soc.Send(BitConverter.GetBytes(byData.Length));
soc.Send(byData);
}
Другой поток использует тот же самый код, за исключением того, что посылает «1» вместо «А».
Как будут выглядеть данные на другом конце? Будет ли это либо поток AAAAAAAA, либо 111111111 или случайным образом смешанным, как A1A1111AAAA1?
Должен ли я избегать этого способа отправки полностью и блокировать отправку, пока не закончится другой поток?
Вам нравится думать об этом? Нет? Затем избегайте ситуаций, когда необходимо задавать такие вопросы. –
Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –
Lol Что не так с попыткой предсказать поведение кода? Это законный вопрос У меня есть многопоточное приложение, в котором каждый поток может иметь некоторые данные для отправки. Если их поведение без блокировок является последовательным и заканчивается либо AAAAAAAAA11111111111, либо 11111111AAAAAA, мне не нужно будет реализовывать блокировки. – InstallGentoo