Java并发编程示例(三):线程中断
一个多线程的Java程序,直到所有线程执行完成,整个程序才会退出。(需要注意的是,是所有非后台线程(non-daemonthread)执行完成;如果一个线程执行了System.exit()方法,程序也会退出。)有时,你想中止一个线程的执行,例如你想退出程序,或者你想取消一个正在执行的任务等。
Java提供了中断机制,可以让我们显式地中断我们想中止执行的线程。中断机制的一个特征就是我们可以检查线程是否已经被中断,进而决定是否响应中止请求。线程也可以忽略中止请求,继续执行。
在本节,我们所开发的示例程序将会创建一个线程,五秒钟后,利用中断机制强制中止这个线程。
知其然
按照下面步骤所示,完成示例程序。
1.创建一个名为PrimeGenerator的类,并且继承Thread类。代码如下:
publicclassPrimeGeneratorextendsThread{
2.重写run()方法,在方法中添加一个无限循环,在循环内,通过计算来检查从1开始的连续正整数是否为素数。如果是,则打印到控制台。代码如下:
@Override
publicvoidrun(){
longnumber=1L;
while(true){
if(isPrime(number)){
System.out.printf("Number%d\tisPrime.",number);
}
3.在处理一个数字之后,通过调用isInterrupted()方法来检查线程是否被中断。如果该方法返回true,则向控制台打印一句话,然后中止线程执行。代码如下:
if(isInterrupted()){
System.out.println("ThePrimeGeneratorhasbeenInterrupted");
return;
}
number++; } }
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短