多线程编程:停止基于线程的服务

来源:互联网 发布:matlab输出数组到txt 编辑:程序博客网 时间:2024/06/04 19:38

线程池拥有它的工作者线程,如果需要中断这些线程,那么应该由线程池来负责。

正如被封装的对象,线程的所有权是不可传递的。应用程序拥有服务,服务拥有工作者线程。

服务应该提供生命周期方法,关闭它自己,关闭它所拥有的工作者线程。

ExecutorService 提供了shutdown() 和shudownNow() 方法,其他服务也应该提供类似的方法作为关闭机制。


对于线程持有的服务,只要服务存在的时间大于创建线程的方法存在的时间,那么就应该提供生命周期管理方法。

0 0
原创粉丝点击