像迅雷那样的,最多同时执行5个任务,如何设计
像迅雷那样的,最多同时执行5个任务,怎么设计啊想做个多线程执行任务的小程序,要求和迅雷差不多,比如最多同
像迅雷那样的,最多同时执行5个任务,怎么设计啊
想做个多线程执行任务的小程序,要求和迅雷差不多,比如最多同时执行5个任务,而我有8个任务
我现在是一开始创建5个线程,那么执行完毕的肯定就free了,然后重新利用该线程启动一个新任务,现在就是不知道怎么判断这个线程是否完全free了,我的方法是随便访问一下该线程,如果出错就是free了,但是这样做是不是不太好啊?
Delphi(Pascal) codetry if trd.running=false then bQuit:=true;except bQuit:=true;end;
[解决办法]设置信号量
[解决办法] 为什么会执行完呢?如果真的执行完了,为什么他就应该free啊
[解决办法]维护一个任务列表不就行了吗
[解决办法]三篇关于线程的文章,希望对你有帮助:
http://blog.csdn.net/linzhengqun/archive/2006/01/07/572557.aspx
http://blog.csdn.net/linzhengqun/archive/2006/02/06/593229.aspx
http://blog.csdn.net/linzhengqun/archive/2006/03/30/643822.aspx
[解决办法]ForegroundTask函数可用于检测当前线程是否正在运行。
[解决办法]简单一点的就是任务管理,复杂一点的用线程池。