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

新建、就绪、运行、阻塞

3、线程优先级

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

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

4、线程的关闭

推荐使用标志位 FLAG,不推荐stop,interrupt,正常运行结束

5、生产者消费者模式

 6、进程是资源分配的最小单位,线程是CPU调度的最小单位

原文地址:https://www.cnblogs.com/springxian/p/13539080.html