我有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