Java:多线程<四> Lock、停止线程、守护线程、join、优先级&yield
Java1.5以后,Condition将Object监视器方法(wait, notify, notifyAll)分解成截然不同的对象,以便通过这些对象与任意Lock实现组合使用为每个对像提供多个等待set(wait-set)。期中,Lock替代了synchronized方法和语句的使用,Condition替代了Objetc监视器方法和使用。
当线程处于冻结状态,就有可能线程就不会结束,interrupt用于清除线程的冻结状态。当没有指定的方式让冻结状态的线程恢复到运行状态时,这是需要对冻结状态进行清除。强制让线程恢复到运行状态中来。这样就可以操作标记让线程结束。
守护线程:
setDaemon(true)用于让一个线程变成守护线程(用户线程、后台线程),当正在运行的线程都是守护线程时,java虚拟机推出。
该方法必须在启动线程前调用。
Join:
join()抢夺cpu执行权。等待该线程结束。
优先级:
抢CPU资源的频率,线程默认级别是5,线程级别范围1-10。
setPriority(int newPriority)设置线程级别。括号里还可以写成Thread.MAX_PRIORITY、Thread.MIN_PRIORITY…
yield:
暂停当前线程
——————————————————————————
本节的内容,以后深入了再补上