关于任务的结束:我们有一个CDisplayTask* pTask这样的任务指针,似乎我们可以在任务结束后使用delete来终止该任务,但这样会使程序变得不可靠,因为我们在销毁任务时,它可能正在做某些重要的处理。
由任务自己决定什么时候结束是最安全的。可以设一个标志,任务循环检查该标志,从run()退出时,先进行现场的清理工作,以此来达到线程的安全退出。
本文介绍了一个基于C++实现的任务类CDisplayTask,该类继承自Runnable接口,并实现了线程安全的任务退出机制。通过设置一个布尔型的退出标志quitFlag,在任务的运行循环中检查此标志来决定是否继续执行或安全退出。
关于任务的结束:我们有一个CDisplayTask* pTask这样的任务指针,似乎我们可以在任务结束后使用delete来终止该任务,但这样会使程序变得不可靠,因为我们在销毁任务时,它可能正在做某些重要的处理。
由任务自己决定什么时候结束是最安全的。可以设一个标志,任务循环检查该标志,从run()退出时,先进行现场的清理工作,以此来达到线程的安全退出。
6945

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