创建
Thread子类重写run方法
Runnable接口实现类
Callable接口实现类(异步)
线程等待
线程等待方法:
sleep()
join()
线程打断等待方法:
interrupt()打断waiting状态
isInterrupted()看查此线程是否可以打断等待状态
interrupted()看查此线程是否可以打断等待状态并且回复不可打断状态(默认状态)
线程阻塞,线程安全
synchronized代码块:
synchronized(object){
}
synchronized修饰非静态方法:锁对象为this对象
synchronized修饰静态方法:锁对象为当前类对象(Class对象)
使用:
每个对象都默认继承Object对象,所以都有三个方法:
wait():进入block状态
notify():从block状态唤醒,进入Runnable状态,用于只有两个线程的情况
notifyAll():从block状态唤醒,进入Runnable状态,可唤醒除本线程之外所有以此锁锁住的对象
判断:
如果是block状态,使用getState 方法,返回的状态为:WAITING