1、线程的控制
sleep(毫秒值):写在线程方法里不会释放锁(interrupt打断)
sleep可以在任何地方使用。而wait,notify,notifyAll只能在同步控制方法或者同步控制块中使用。
sleep必须捕获异常,而wait,notify,notifyAll的不需要捕获异常。
join ():插队
yield:高风亮节,程序让步(礼让不一定成功,看CPU心情)
wait、notify、notifyAll:等待和通知
setDaemon(True)后台线程:
2、线程的生命周期
Thread thread=new Thread(new MyThread1()); Thread.State state=thread.getState();
//观察线程状态
新建
就绪
运行
阻塞
3、线程优先级
//优先级1~10,默认是5
thread.setPriority(5); thread.getPriority();
优先级高不一定先执行,看CPU的状态,但是权重高
4、线程的关闭
推荐使用标志位 FLAG,不推荐stop,interrupt
5、生产者消费者模式