- 该同步要同步
- 同步块尽可能的小
- 循环内使用wait()
- synchronized (obj) {
- while (condition) {
- obj.wait();
- }
- }
synchronized (obj) { while (condition) { obj.wait(); } }
- notifyAll()优先于notify()
- yield()不可靠
- 在持有锁的时候, 尽量不要调用其它对象的方法, 因为这很可能是死锁的源头.
- 线程优先级取决于底层实现, 应尽量避免使用.
- 守护线程与非守护线程的区别:当进程中所有非守护线程已(结束或)退出时,即使仍有守护线程在运行,进程仍将结束.
>>>
read more