F fullstrong Unregistered / Unconfirmed GUEST, unregistred user! 2001-12-29 #1 在线程中能用Timer控件吗?我想当时间到了的时候就中断线程,该如何做?
V vine Unregistered / Unconfirmed GUEST, unregistred user! 2001-12-29 #3 可以呵! 在线程中设置一个Boolean变量不就行了吗 如果不放心的话,可以把timer放在主线程中的呵 同样方法去读这个变量就可以了!
D davylaker Unregistered / Unconfirmed GUEST, unregistred user! 2001-12-29 #4 问题其实与时间没有关系, 就是线程外要终止此线程的问题 此线程在一个循环中运行, 每次开始循环时检测一个全局的变量
G goujie Unregistered / Unconfirmed GUEST, unregistred user! 2001-12-29 #5 在主线程中放一个timer控件,声明Boolean型的全局变量,在timer控件中判断时间, 如果时间到了设置Boolean型的全局变量为TRUE,再在线程中判断全局变量即可。
C copy_paste Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-04 #6 不行吧,线程中要接收消息(时间),要Peekmessage一个线程消息,不然的话,白忙。 你在线程Repeat的时候,只要不是block你的线程,可以不断得到时间来pan断,到时间了不就 中止就完了。 GetTickCount//得到当前时间毫秒 GetLocalTime(SystemTime: TSystemTime);
不行吧,线程中要接收消息(时间),要Peekmessage一个线程消息,不然的话,白忙。 你在线程Repeat的时候,只要不是block你的线程,可以不断得到时间来pan断,到时间了不就 中止就完了。 GetTickCount//得到当前时间毫秒 GetLocalTime(SystemTime: TSystemTime);
F ForestBen Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-12 #8 |mainthread| |subthread| | | 设置定时器 | | 死循环等待事件到达 | | | | | | 事件到达 --------> SetEvent | | | 退出循环,终止纤尘