多线程开发注意问题

Posted yjxyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程开发注意问题相关的知识,希望对你有一定的参考价值。

  • 给线程起有意义的名字,这样方便找Bug
  • 缩小同步范围,从而减少锁的争用,例如对于 synchronized,应该尽量使用同步块而不是同步方法
  • 多用同步工具少用 wait() 和 notify()。首先,CountDownLatch, CyclicBarrier, Semaphore 和Exchanger 这些同步类简化了编码操作,而用 wait() 和 notify() 很难实现复杂控制流;其次,这些同步类是由最好的企业编写和维护,在后续的 JDK 中还会不断优化和完善。
  • 使用BlockingQueue实现生产者消费者问题
  • 多用并发集合少用同步集合,例如应该使用 ConcurrentHashMap 而不是 Hashtable
  • 使用本地变量和不可变类来保证线程安全
  • 使用线程池而不是直接创建线程,这是因为创建线程代价很高,线程池可以有效地利用有限的线程来启动任务

以上是关于多线程开发注意问题的主要内容,如果未能解决你的问题,请参考以下文章

Python多任务之多线程开发

透彻解析!javaweb开发教程书

四面美团开发岗,面试题分享

Java开发环境!程序员VS产品经理

Java开发者跳槽必备:用java编程介绍自己

[转]Linux 的多线程编程的高效开发经验