TASK任务
任务Task在调用signal的时候,其实是把一个队列元素(包含了该Task的指针)放到了线程池的某个线程(TaskThread)的队列结构体中。
线程有一个 死循环 ,不断地从队列中取元素,取到的每个元素都会调用对应task的run方法。所以只要在一个task调用signal,则对应的run函数(虚函数)立即就会执行。切记,每一个run函数的调用都是在线程中。
借鉴 TASK机制,可以做这样一件事情 。
创建一个类,派生于TASK。那么该类只要调用A函数(signal),则就回立即在线程中触发B函数(run)的执行 。
详细代码参考:点击打开链接