D delphibbsme Unregistered / Unconfirmed GUEST, unregistred user! 2008-03-16 #1 我想在buttonStart.click里创建几个线程,让这些线程各自对相应的串口收到的数据做出反应,等达到一定条件后结束所有线程,然后再触发下一步操作,为此我在线程里使用条件循环,不知道这样做是否可行?
我想在buttonStart.click里创建几个线程,让这些线程各自对相应的串口收到的数据做出反应,等达到一定条件后结束所有线程,然后再触发下一步操作,为此我在线程里使用条件循环,不知道这样做是否可行?
L luoyanqing119 Unregistered / Unconfirmed GUEST, unregistred user! 2008-03-16 #2 可是可行,不过你必须对线程的运行状态控制得比较好,还有在单处理器的情况下线程不能用得太多.
D delphibbsme Unregistered / Unconfirmed GUEST, unregistred user! 2008-03-16 #3 什么叫“必须对线程的运行状态控制得比较好”?能细说一下吗?我在调试中用单步调试总是出现CPU100%的情况,而且运行的流程很怪,上窜下跳,用run的话,总会有一个线程好像没执行似的。
东 东兰梦舞 Unregistered / Unconfirmed GUEST, unregistred user! 2008-03-16 #4 就是让你适当的等待,如等待内核对象,等待消息到达,SLEEP等。 死循环轮询,CPU一下就完了。
M Mike1234567890 Unregistered / Unconfirmed GUEST, unregistred user! 2008-03-16 #6 在多线程中尽量用私有变量 串口可以使用异步函数,通过内核对象来处理 CPU就不会占用那么高了 也不会乱跳了