xt 发帖数: 17532 | 1 对VC不熟,现在有个问题,就是
如何实现线程的wait-notify过程?
还有如何能够join线程?posix有join的
function,VC好像没有啊 |
C***y 发帖数: 2546 | 2 用event + WaitForSingleOject/WaitForMultipleObjects
复杂的可以用IO Completion Port
join也可以用WaitForSigleOject,多个线程用WaitForMultipleObjects
【在 xt 的大作中提到】 : 对VC不熟,现在有个问题,就是 : 如何实现线程的wait-notify过程? : 还有如何能够join线程?posix有join的 : function,VC好像没有啊
|
xt 发帖数: 17532 | 3 现在的问题是这样:
我需要起一条thread,这条thread每间隔一分钟执行一次任务,
知道需要停止。停止的时候需要给个singal,然后再join起来
一起结束。
【在 C***y 的大作中提到】 : 用event + WaitForSingleOject/WaitForMultipleObjects : 复杂的可以用IO Completion Port : join也可以用WaitForSigleOject,多个线程用WaitForMultipleObjects
|
a9 发帖数: 21638 | 4 设个变量不行吗?
【在 xt 的大作中提到】 : 现在的问题是这样: : 我需要起一条thread,这条thread每间隔一分钟执行一次任务, : 知道需要停止。停止的时候需要给个singal,然后再join起来 : 一起结束。
|
C***y 发帖数: 2546 | 5 main thread 用WaitOnMultipleOjects等着,worker thread用sleep,每次醒来先检查
是否exit flag is on,是的退出,不是干活,干完继续sleep
大概就这样子, exit flag也可以用event
【在 xt 的大作中提到】 : 现在的问题是这样: : 我需要起一条thread,这条thread每间隔一分钟执行一次任务, : 知道需要停止。停止的时候需要给个singal,然后再join起来 : 一起结束。
|
a9 发帖数: 21638 | 6 那为啥还要用这个线程呢。
【在 C***y 的大作中提到】 : main thread 用WaitOnMultipleOjects等着,worker thread用sleep,每次醒来先检查 : 是否exit flag is on,是的退出,不是干活,干完继续sleep : 大概就这样子, exit flag也可以用event
|
C***y 发帖数: 2546 | 7 哪个线程?主线程?
【在 a9 的大作中提到】 : 那为啥还要用这个线程呢。
|
a9 发帖数: 21638 | 8 子线程啊。
相当于起了一个线程,在里面等待,然后主线程等待这个子线程完成。
那还要这个子线程干嘛啊,呵呵。
【在 C***y 的大作中提到】 : 哪个线程?主线程?
|
|
C***y 发帖数: 2546 | 9 一个子线程是没必要,我猜楼主是要起多个子线程吧
【在 a9 的大作中提到】 : 子线程啊。 : 相当于起了一个线程,在里面等待,然后主线程等待这个子线程完成。 : 那还要这个子线程干嘛啊,呵呵。
|
xt 发帖数: 17532 | 10 必须用线程,因为主线程还要干活呢。sleep的问题在于不能及时唤醒,因为
有的线程可能要一星期才run一次,我不太愿意让它每秒钟醒过来哭两声再
回去睡觉。想找一个比较干净的方法。
目前我想到的是用mutex,在主线程开thread之前先锁住,然后再子线程
等待,把timeout设定成运行周期,等要停thread的时候设一个flag,然后
用mutex唤醒。
【在 C***y 的大作中提到】 : 一个子线程是没必要,我猜楼主是要起多个子线程吧
|