QWorker专题-基于作业的Delphi/C++ Builder并行编程框架

QWorker是QDAC组件库中的一个重要组成部分,目标是降低在Delphi和C++Builder多线程编程的复杂度。QWorker首先是从作业的角度来规划多线程编程,通过将要完成的目标任务分解成一个个作业,从而达到简化编程模型,提高系统运行效率的目的。

【概念入门】

QWorker – Delphi编写的基于作业的跨平台多线程作业管理器

QWorker与现实的原理映射

QWorker的作业类型详解

QWorker可以做什么?

QWorker-不仅仅是一个线程池

QWorker与XE 7的System.Threading对比

QWorker的For并行计算为什么不支持主线程作业?

QWorker编程常见问题与解答

【教程】

基于 QWorker 的多线程编程

【技巧与示例】

QWorker技巧之参数化

QWorker 技巧 – 多步作业中参数重复投寄

QWorker技巧之作业与主线程之间通讯

QWorker技巧之随机间隔作业

QWorker技巧之中止作业

QWorker信号作业处理详解

QWorker中分组作业的控制(TQJobGroup)

QWorker对For循环并行计算支持

QWorker不要在主窗体OnDestroy里投寄异步作业

QWorker中匿名作业函数访问局部变量的限制

QWorker中使用Plan 函数添加个一个 Linux 样式的计划任务作业

QWorker自定义作业数据指针释放方法

QWorker技巧之如何向等待信号处理作业传递参数

QWorker多线程调试之枚举工作者状态及调用堆栈

多线程排序-QWorker版本实现

QWorker成功运行于Andriod手机上了!

示例-使用QWorker从百度天气并行获取天气数据

示例-QWorker基于状态的作业控制演示

基于作业过程的初始化和释放方法

QWorker中TQJobGroup的Run和WaitFor/MsgWaitFor中超时的区别

QWorker演示-正余弦曲线动态绘制示例解析

QWorker演示-QWorker后台线程与前台通讯演示解析

QWorker演示-统计代码行数的工具 CodeLines 源码

QWorker演示-在作业完成时自动调用处理函数

QWorker演示-使用 Delay 实现重复作业两次之间的定长等待

【第三方】

YxdWorker 后台工作者管理库(由QWorker变异,音儿小白维护)

DIOCP开源项目-高效稳定的服务端解决方案(DIOCP + 无锁队列 + ZeroMQ + QWorkers) 出炉了(天地弦作品)

 

分享到:
  1. 马上退出的话,你首先需要保证没有正在进行中的IO操作,剩下的在现代操作系统中,可以直接Kill掉了

  2. 关于QWorker的建议:建议在 Post Job的时候,为Job提供一个 Integer 的 Tag标识,并且提供一个清理指定 Tag 的Job的Clear函数,这样方便清理特定的Job,此类Job不适用JobGroup和信号量。希望能够采纳我的意见。