Java多线程笔记
一、中断线程
1、void interrupt()
向线程发送中断请求。线程的中断状态将被设置为true。如果目前该线程被一个sleep调用阻塞,那么
InterruptedException异常被抛出。
2、static boolean interrupted()
测试当前线程(即正在执行这一条命令的线程)是否被中断。注意,这是一个静态方法。这一调用
会产生副作用--它将当前线程的中断状态设置重置为false。
3、boolean isInterrupted()
测试线程是否被终止。不想静态的中断方法,这一调用不会改变线程的中断状态。
4、static Thread currentThread()
返回代表当前执行线程的Thread对象。
二、线程的六个状态
1、New(新创建)
2、Runnable(可运行)
3、Blocked(阻塞)
4、Waiting(等待)
5、Timed Waiting(计时等待)
6、Terminated(被终止)
一、中断线程
1、void interrupt()
向线程发送中断请求。线程的中断状态将被设置为true。如果目前该线程被一个sleep调用阻塞,那么
InterruptedException异常被抛出。
2、static boolean interrupted()
测试当前线程(即正在执行这一条命令的线程)是否被中断。注意,这是一个静态方法。这一调用
会产生副作用--它将当前线程的中断状态设置重置为false。
3、boolean isInterrupted()
测试线程是否被终止。不想静态的中断方法,这一调用不会改变线程的中断状态。
4、static Thread currentThread()
返回代表当前执行线程的Thread对象。
二、线程的六个状态
1、New(新创建)
2、Runnable(可运行)
3、Blocked(阻塞)
4、Waiting(等待)
5、Timed Waiting(计时等待)
6、Terminated(被终止)
注意:一个可运行的线程可能正在运行也可能没有运行,这取决于操作系统给线程提供运行的时间。
class MyRunnable implements Runnable {
@Override
public void run() {
System.out.println(Thread.currentThread().getState());
}
}
public class ThreadDemo {
public static void main(String[] args) {
Thread thread = new Thread(new MyRunnable());
System.out.println(thread.getState()); //NEW
thread.start(); //RUNNABLE
}
}