线程的休眠和中断
在程序中允许一个线程进行暂时的休眠,直接使用Thread.sleep()方法即可实现休眠:
class myThread11 implements Runnable {
public void run() {
for (int i = 0; i < 5; i++) {
try {
Thread.sleep(5000);
System.out.println(Thread.currentThread().getName()
+ " running " + i);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public class ThreadSleepDemo {
public static void main(String[] args) {
myThread11 m = new myThread11();
new Thread(m, "von's thread").start();
}
}
当一个线程运行时,另外一个线程可以直接通过interrupt()方法中断其运行状态:
class myThread12 implements Runnable {
public void run() {
System.out.println("1,Begin run() method:");
try {
Thread.sleep(10000);
System.out.println("2,Sleep have overd.");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
System.out.println("3,Sleep be stoped.");
return;
}
System.out.println("4,Stop run() method normally.");
}
}
public class ThreadInteruptDemo {
public static void main(String[] args) {
myThread12 vMyThread = new myThread12();
Thread thread = new Thread(vMyThread, "vThread");
thread.start();
try {
thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
thread.interrupt();
}
}