package cn.hncu.lang.thread_
public class ThreadMethod_ {
public static void main(String[] args) {
OneThre thread = new OneThre()
thread.start()
//中断当前对象thread所代表的线程
thread.interrupt()
System.out.println("main:thread.isInterrupted() = "+thread.isInterrupted())
System.out.println("main:thread.interrupted() = "+thread.interrupted())
System.out.println("main:Thread.currentThread().isInterrupted() = "
+Thread.currentThread().isInterrupted())
System.out.println("main:Thread.interrupted() = "+Thread.interrupted())
//中断当前的线程Main线程
Thread.currentThread().interrupt()
System.out.println("main:thread.isInterrupted() = "+thread.isInterrupted())
System.out.println("main:thread.interrupted() = "+thread.interrupted())
System.out.println("main:Thread.currentThread().isInterrupted() = "
+Thread.currentThread().isInterrupted())
System.out.println("main:Thread.interrupted() = "+Thread.interrupted())
}
}
class OneThre extends Thread{
@Override
public void run() {
for(int i=0
System.out.println(i)
this.interrupt()
System.out.println("run:this.isInterrupted() = "+this.isInterrupted())
System.out.println("run:Thread.currentThread().isInterrupted() = "
+Thread.currentThread().isInterrupted())
System.out.println("run:this.interrupted() = "+this.interrupted())
System.out.println(OneThre.interrupted())
Thread.currentThread().interrupt()
System.out.println(Thread.interrupted())
}
}
}
main:thread.isInterrupted() = true
0
main:thread.interrupted() = false
run:this.isInterrupted() = true
main:Thread.currentThread().isInterrupted() = false
run:Thread.currentThread().isInterrupted() = true
main:Thread.interrupted() = false
run:this.interrupted() = true
main:thread.isInterrupted() = false
false
main:thread.interrupted() = true
true
1
main:Thread.currentThread().isInterrupted() = false
run:this.isInterrupted() = true
main:Thread.interrupted() = false
run:Thread.currentThread().isInterrupted() = true
run:this.interrupted() = true
false
true
2
run:this.isInterrupted() = true
run:Thread.currentThread().isInterrupted() = true
run:this.interrupted() = true
false
true
3
run:this.isInterrupted() = true
run:Thread.currentThread().isInterrupted() = true
run:this.interrupted() = true
false
true
4
run:this.isInterrupted() = true
run:Thread.currentThread().isInterrupted() = true
run:this.interrupted() = true
false
true
currentThread方法:
/**
* 项目名:线程中的常用方法
* 时间 :2017-9-19 上午8:26:55
*/
class CurrentThread extends Thread{
public CurrentThread() {
System.out.println("构造方法11 : "+currentThread().getName());
System.out.println("构造方法22 : "+this.currentThread().getName());
}
@Override
public void run() {
System.out.println("run方法33 : "+currentThread().getName());
System.out.println("run方法44 : "+this.currentThread().getName());
}
public static void main(String[] args) {
CurrentThread thread = new CurrentThread();
thread.run();
System.out.println("main方法55 : "+currentThread().getName());
System.out.println("main方法66 : "+thread.currentThread().getName());
}
}