thread stop interrupt, ExecutorService shutdown shutdownnow,怎样终止线程

记性不好,还是要烂笔头。

终止线程用什么方法最好:答案是使用共享变量在while中判断。

那么Thread提供的stop interrupt, ExecutorService提供的shutdown, shutdownAll不行吗?答案是不行。

解释:

stop方法是过时的

interrupt:如果线程中没有sleep 、wait、Condition、定时锁等应用, interrupt()方法是无法中断当前的线程的。

shutdown, shutdownAll:它试图终止线程的方法是通过调用Thread.interrupt()方法来实现的。

另外在使用共享变量时也要注意:

多个线程访问共享变量时无论读或者写都要保证同步。(参见 effective java item 66.)

 

参见:http://blog.ureshika.com/archives/152.html

http://www.blogjava.net/jinfeng_wang/archive/2008/04/27/196477.html


Total views.

© 2013 - 2024. All rights reserved.

Powered by Hydejack v6.6.1