一百分求解.可追加.对某个线程池的不解以及到失望.... 大概看了下楼主的代码,这个是cnVCL中的线程池代码,10年前的代码啦,本身就有些问题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在线程里直接操作vcl,是有问题的需要加 同步,但是 加了同步,又失去了并发的意义所以,不用多个线程同时操作界面控件 谢谢回复.一直忙着写东西没上来看...对于此线程池.我以为是同步执行.执行完线程后还会自动执行线程执行完后的数据.FThreadsPool.OnThreadFinalizing := FCustomWorkTask.TProcessorThreadFinalizing; // 线程结束时触发的事件 但是他却没有触发.是因为执行完FThreadsPool.OnProcessRequest := FCustomWorkTask.DealwithCommRecvData; //线程执行的模块线程模块后,线程就存持着一直不动.也就所谓的线程并没有结束...但是最终我想表达的是.这个线程的线程是排序方式执行.而不是并发执行..就算同时开着五条线程.也只有一个线程在运行...这就是我想说的...不知道能不能推荐一款易用又好的现代版线程池...先感谢 线程池 应该比较简单的吧一个list,每项对应一个线程对象有新任务,找个挂起的线程对象,由它运行运行完毕,挂起都在运行,新增一项,对应新创建的线程对象,由它运行 看你的工作线程是怎么写的?这个线程池实现很简单,要看怎么用。特别需要注意的是TProcessorThread(FThreads[i]).Terminate;如果子类的实现未遵守“规则”,即使关闭了应用,线程也还是在跑(进程还在,通常会倒置进程无法退出) 目前比较好的第三方线程管理库是OmniThreadLibrary,比较大,需要看他的UML图。 感谢各位的答复...可能我的描述大伙还是没听明白.我对这一个线程池的概念和各位一样.声明就必须要执行.执行完后可以挂等待下一个任务..防止不断重建的而浪费时间..但是我想说的是你同步执行多个线程的时候.多条线程应该在不同的时间同步执行.而不是等待一条线程完全执行后才会去执行下一个的线程.....不知道我这样描述你们有明白不...我是希望知道我这样的想法.在这个线程池能不能实现...完整代码:http://blog.csdn.net/jian704/article/details/1834122 这个代码有问题。轻量级的线程池用AsyncCalls,重量级的用OmniThreadLibrary 哪位帮小弟把C++申明转成DELPHI的。拜谢。 请问在ro的da中能直接使用schema执行execsql代码吗? 一个关于mscomm串口通信的问题 在线急求:Dbgrid的问题 dbExpress连接SQLSERVER2000的问题? 怎样用程序生成access数据库文件(*.mdb),高分,不够再给 跪谢!怎样对文件解密? DELPHI做串口通讯的问题,很急!!!!!!!!! 在线等待:读取文件时怎样判断被读取的文件是否存在? 高手请进,高分相送!!!! Delphi2007 Win7 WebService ISAPI 调用 COM 请教,当FTP响应消息有多行文本时,如何判断
需要加 同步,但是 加了同步,又失去了并发的意义所以,不用多个线程同时操作界面控件
FThreadsPool.OnThreadFinalizing := FCustomWorkTask.TProcessorThreadFinalizing; // 线程结束时触发的事件
但是他却没有触发.是因为执行完
FThreadsPool.OnProcessRequest := FCustomWorkTask.DealwithCommRecvData; //线程执行的模块线程模块后,线程就存持着一直不动.也就所谓的线程并没有结束...但是最终我想表达的是.这个线程的线程是排序方式执行.而不是并发执行..就算同时开着五条线程.也只有一个线程在运行...这就是我想说的...不知道能不能推荐一款易用又好的现代版线程池...先感谢
有新任务,找个挂起的线程对象,由它运行
运行完毕,挂起
都在运行,新增一项,对应新创建的线程对象,由它运行
看你的工作线程是怎么写的?这个线程池实现很简单,要看怎么用。特别需要注意的是TProcessorThread(FThreads[i]).Terminate;如果子类的实现未遵守“规则”,即使关闭了应用,线程也还是在跑(进程还在,通常会倒置进程无法退出) 目前比较好的第三方线程管理库是OmniThreadLibrary,比较大,需要看他的UML图。