15. Volatile变量, volatile变量表示保证它必须是与主内存保持一致,它实际是"变量的同步", 也就是说对于volatile变量的操作是原子型的,如用在long 或 double变量前。 16. 使用yield()会自动放弃CPU,有时比sleep更能提升性能。 17. sleep()和wait()的区别是:wait()方法被调用时会解除锁定,但是我们能使用它的地方只是在一个同步的方法或代码块内。 18. 通过制造缩小同步范围,尽可能的实现代码块同步,wait(毫秒数)可在指定的毫秒数可退出wait;对于wait()需要被notisfy()或notifyAll()踢醒。 19. 构造两个线程之间实时通信的方法分几步: 20. synchronized带来的问题除性能有所下降外,最大的缺点是会带来死锁DeadLock,只有通过谨慎设计来防止死锁,其他毫无办法,这也是线程难以驯服的一个原因。不要再使用stop() suspend() resume()和destory()方法 21. 在大量线程被堵塞时,最高优先级的线程先运行。但是不表示低级别线程不会运行,运行概率小而已。 22. 线程组的主要优点是:使用单个命令可完成对整个线程组的操作。很少需要用到线程组。 23. 从以下几个方面提升多线程的性能: 检查所有可能Block的地方,尽可能的多的使用sleep或yield()以及wait(); 尽可能延长sleep(毫秒数)的时间; 运行的线程不用超过100个,不能太多; 不同平台linux或windows以及不同JVM运行性能差别很大。 |
閺€鎯版閹存劕濮�閺屻儳婀呴弨鎯版>>
0正在阅读:读书笔记:多线程程序设计要点读书笔记:多线程程序设计要点
2004-07-16 10:16
出处:CSDN
责任编辑:linjixiong
键盘也能翻页,试试“← →”键