一个关于java 线程池的例子,也适合android
2023-12-26 07:05:23 101KB java ThreadPoolExecutor
1
线程池 用C ++ 11和Folly实现的简单线程池(facebook C ++基础库)
2023-10-24 11:37:42 6KB C++
1
delphi线程池单元文件uThreadPool.pas,用法如下 type TRecvCommDataWorkItem=class(TWorkItem) public // updatetime,addtime:TDateTime; // orderid,ordertype,urljson,loadcount,savepath:string; url,Filename:string; total,order:Integer; _orderid:string; failedcount:Integer; IFCoverFile:Boolean; // 线程处理请求时触发的事件 procedure DealwithCommRecvData(Sender: TThreadsPool; WorkItem: TWorkItem; aThread: TProcessorThread); // 线程初始化时触发的事件 procedure TProcessorThreadInitializing(Sender: TThreadsPool; aThread:TProcessorThread); // 线程结束时触发的事件 procedure TProcessorThreadFinalizing(Sender: TThreadsPool; aThread:TProcessorThread); //任务队列空时触发的事件 procedure TQueueEmpty(Sender: TThreadsPool; EmptyKind: TEmptyKind); end; 先声明一个类 然后用法 FThreadPool := TThreadsPool.Create(nil); // 创建线程池 FThreadPool.ThreadsMin := 10; // 初始工作线程数 FThreadPool.ThreadsMax := 100; // 最大允许工作线程数 AWorkItem := TRecvCommDataWorkItem.Create; ISAllOverLoad:=False; AWorkItem.url:=urljson; AWorkItem.order:=i; AWorkItem.total:=JA.Count; AWorkItem.Filename:=savefilepath; AWorkItem._orderid:=orderid; AWorkItem.IFCoverFile:=IFCoverFile; FThreadPool.AddRequest(AWorkItem,True); // 向线程池分配一个任务 FThreadPool.OnProcessRequest := AWorkItem.DealwithCommRecvData; FThreadPool.OnThreadInitializing := AWorkItem.TProcessorThreadInitializing; FThreadPool.OnThreadFinalizing := AWorkItem.TProcessorThreadFinalizing; FThreadPool.OnQueueEmpty := AWorkItem.TQueueEmpty; 仔细看下线程池单元的函数说明轻松搞定。 procedure TRecvCommDataWorkItem.TQueueEmpty(Sender: TThreadsPool; EmptyKind: TEmptyKind); begin if EmptyKind=ekProcessingFinished then begin try if Assigned(geturl) then //存在的bug 如果下载文件存在的不行 begin //Sleep(200); //激活线程可能会发生在 休眠之前!! ISAllOverLoad:=True; if geturl.Suspended then //只有线程休眠了 才应该激活线程 否则不应该激活 geturl.Resume; end; finally end; end; end;
2023-04-13 14:54:51 28KB delphi线程池
1
ThreadPool 线程池+任务队列
2023-02-04 16:56:17 9KB C++
1
C++11 线程池 ThreadPool 单例 线程池,实现全局唯一。
2022-11-09 09:52:19 76KB C++11 ThreadPool
1
ThreadPoolWithJobAffinity 执行给定作业集的线程池。 此线程池具有Job Affinity,分配给具有相同作业ID的线程池的所有作业将由同一线程执行。
2022-10-26 22:53:36 8KB Java
1
#清磁盘啦~,CSDN“网盘”真好用,感谢CSDN~ Cloud Computing lab,本项目是基于threadpool+epoll技术实现的web服务器,实现了一定程度的并发,并对web服务器响应请求做了一定的优化,同时实现简单的转发请求的服务器代理功能。
2022-10-08 14:01:05 38KB web服务器 threadpool epoll
1
Qt 使用线程池 构建 多线程 多任务 代码是自己写的小demo 可以直接运行
2022-08-15 15:21:46 4KB Qt QtConcurrent
1
boost的线程池代码,配合blog文使用http://blog.csdn.net/zengraoli/article/details/70187693
2022-08-02 18:57:07 59KB boost 线程池
1
这是通过c++实现的线程池,可以自己扩展,任务采用std::funciton作为通用任务对象
2022-07-25 10:27:32 6KB c++ 线程池 funciton bind
1