我有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还是111111111s的流或者像A1A1111AAAA1那样随机混合?
我应该避免这种完全发送的方式,并阻止发送,直到其他线程完成?
你喜欢这样想吗?没有?然后避免需要提问这样的问题。 –
我编辑过你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –
大声笑试图预测代码行为有什么不对?这是一个合法的问题 我有一个多线程应用程序,其中每个线程可能有一些数据要发送。如果他们的行为没有锁是一致的,并且以AAAAAAAAA11111111111或11111111AAAAAA结束,我就不必实现锁。 – InstallGentoo