Re: [問題] Thread 與 Class 一問...

看板C_Sharp作者 (躂躂..)時間16年前 (2007/11/15 00:39), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串5/7 (看更多)
※ 引述《KENyroj (難得一身雞蛋糕...)》之銘言: : 謝謝大大的指教... 我在這方面的實作上碰到了盲點... : 如同大大所言, 我在這個包含了 Thread 的 class 裡寫了個 public 的 bool IsStop; : 然後在 DoThing 的 method 裡寫的就是 while(!IsStop) { ... } : 然後這個 ThreadClass 定義了個Stop()方法, 目前的做法就是 IsStop = false; : 但是這樣一來產生了一個問題... 因為其實 while 裡面是一個 server物件 的 Listen : 程式檢查過一次 IsStop 是 false 後, 就讓那個 Server 物件去 Listen... : 在這其間, IsStop 若有任何變更, 其實 Server物件不會停止 Listen : 要等它 Listen 完後, 要再一次開始Listen 時才會去檢查那個 IsStop... : 不知有沒有其它作法, 還是我的做法有什麼地方可以改進的 ^^" 改進方法就是使用 Abort() 囧" 在下建議一個寫法~ try { while (true) { // 在這在做你想要做的事 } } catch (ThreadAbortException e) { // 當 Thread.Abort() 被呼叫時, 該thread會收到此 exception // 此時就可以做一些收尾的事情~ } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.139.131.58

11/16 23:21, , 1F
這是目前正解嗎?我目前是這樣寫 還有更好的方法?
11/16 23:21, 1F
文章代碼(AID): #17EoJ9cD (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #17EoJ9cD (C_Sharp)