码迷,mamicode.com
首页 > 编程语言 > 详细

多线程开发注意问题

时间:2019-07-03 13:59:22      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:jdk   编码   notify   实现   安全   开发   线程池   rri   countdown   

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

多线程开发注意问题

标签:jdk   编码   notify   实现   安全   开发   线程池   rri   countdown   

原文地址:https://www.cnblogs.com/yjxyy/p/11125635.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!