1. 死锁避免方法
(1)注意加锁的顺序,加锁都用同一顺序。
(2)注意锁的超时机制
2. 线程优先级
(1)可以用setpriority设置优先级(1-10),自动对应操作系统的优先级。
(2)getState可以获取线程状态。
3. 线程停止方法
不推荐:Thread.stop
会恶意终止线程,破坏原子性。
推荐:Thread.interrupt
设置推出位,由对应线程决定何时退出。
自定义中断信号量,使用volatile原子性变量。
concurrent保重的方法,例如Future的cancel,ExecutorService的shutdown和shutdownNow
4. synchronize和volatile
synchonize是阻塞式算法的悲观锁。
volatile原子变量逻辑是非阻塞乐观的。