多執行緒程式 出現已終止IO操作的問題
各位版友好,小弟我最近寫了一個多執行緒的Tcp連線程式,會發生
"因為執行緒結束或應用程式要求 所以已終止I/O操作"
這樣的錯誤。我確定非主線執行緒並沒有結束,但是就出現這樣的錯誤一直不得其解
po上我程式碼概要請各位版友幫忙小弟我找找這隻臭蟲在哪裡 :]
這個例外發生在下面程式碼後面部分的 問題點,因為是非同步程式,所以主線當時正
跑到main()中的 do while第一次判斷!flag就會出錯(我每次試著在除錯時不同時間間距
按下 下一步都是在那邊出錯)。
如果需要詳細的程式碼,我放在我的網路位置上,進入的函式為
public Object[] getProductInformtion(string epc, TagEncoding encodingtype)
只要看其中line 244 RequestPMLInformation開始就好
http://us.f1.yahoofs.com/bc/78973302/bc/
%a7%da%aa%ba%a4%e5%a5%f3/EPCHandler.cs?bfdasoDBCH8R3PfS
(請連起來)
=================以下為程式碼概要==============
main()
{
myThread.Start();
bool flag = false;
do
{}while( !flag );
}
myThread()
{
call mySubroutine();
}
mySubroutine()
{
some code.....;
AsyncStartReceive(..., new AsyncCallBack(AsyncEndReceive), ...);
}
AsyncEndReceive()
{
mReceiveLength += mEPCConnecter.EndReceive(ReceiveIAsyncResult) ;<--問題點
some code....;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.67.37.47
※ 編輯: liunate 來自: 203.67.37.47 (12/16 21:47)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章