分配给线程的任务必须是从堆中创建的 【Thread t(new LiftOff(5,i));】,而且通过new出来的任务不需要我们管理,Thread会自己管理该任务,当该任务的引用计数为0时,自动delete该任务。
还可以看到:
for (int i = 0; i < 5; i++)
{
Thread t(new LiftOff(5,i));
}
t是在for循环里创建的局部变量,跳出此次循环后,会立即被销毁。事实上,当一个Zhread被创建时,相关联的线程就会在线程处理系统内部注册,并保持其处于活动状态,即使基于栈的Thread对象被丢弃,线程本身也会继续处于活动状态直到相关联的任务完成。
本文介绍了一个使用C++ ZThread库实现的线程池应用案例。通过LiftOff类作为Runnable接口的具体实现,展示了如何在线程池中并发执行任务。每个任务在执行时会倒数并最终发射,演示了线程的管理和自动销毁过程。

512

被折叠的 条评论
为什么被折叠?



