8.21Java入门--->第二十四节(多线程)

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();
//观察线程状态

新建

就绪

运行

阻塞

8.21Java入门--->第二十四节(多线程)

3、线程优先级

//优先级1~10,默认是5
thread.setPriority(5); thread.getPriority();

优先级高不一定先执行,看CPU的状态,但是权重高

4、线程的关闭

推荐使用标志位 FLAG,不推荐stop,interrupt

5、生产者消费者模式

8.21Java入门--->第二十四节(多线程)

 

上一篇:2020-09-10:java里Object类有哪些方法?


下一篇:使用synchronized,wait,notifyAll 实现两个线程交替打印