作者KENyroj (难得一身鸡蛋糕...)
看板C_Sharp
标题Re: [问题] Thread 与 Class 一问...
时间Wed Nov 14 17:22:05 2007
※ 引述《WayneChu (台北人在洛城)》之铭言:
: ※ 引述《KENyroj (难得一身鸡蛋糕...)》之铭言:
: : 大概是像上面那样... 但是我却不知如何把 Thread 停掉...
: : 请问有什麽线索可以提供参考吗... ^^"
: : 推 KENyroj:我的意思是, Class 有类似 destructor 的地方来写这些吗 11/03 00:30
: : → KENyroj:还是说我直接写个 public method 来呼叫 Abort 也行?? 11/03 00:30
: 不论Abort/Interrupt都不建议使用
: 你的DoThing里面应该是个无穷回圈吧?
: 自己想办法从回圈里跳出来
: 比如由另一个执行绪设个旗标或AutoResetEvent/ManualResetEvent之类
: DoThing函式结束thread也就跟着结束
: 这是唯一安全结束执行绪的方法
谢谢大大的指教... 我在这方面的实作上碰到了盲点...
如同大大所言, 我在这个包含了 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...
不知有没有其它作法, 还是我的做法有什麽地方可以改进的 ^^"
__yroj
--
因为不是每个人都有女朋友
所以上帝赐给我们十根手指头
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.248.5.97