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

多线程编程的注意事项

时间:2019-10-11 12:36:05      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:工作   大小   nbsp   非阻塞   根据   socket   事件   线程池   消息   

   1、明确目的,为什么要使用多线程?如果是由于单线程读写或者网络访问(例如HTTP访问互联网)的瓶颈,可以考虑使用线程池。如果是对不同的资源(例如SOCKET连接)进行管理,可以考虑多个线程。

          2、线程使用中要注意,如何控制线程的调度和阻塞,例如利用事件的触发来控制线程的调度和阻塞,也有用消息来控制的。

          3、线程中如果用到公共资源,一定要考虑公共资源的线程安全性。一般用LOCK锁机制来控制线程安全性。一定要保证不要有死锁机制。

          4、合理使用sleep,何时Sleep,Sleep的大小要根据具体项目,做出合理安排。一般原则非阻塞状态下每个循环都要有SLeep,这样保证减少线程对CPU的抢夺。每次线程的就绪和激活都会占用一定得资源,如果线程体如果有多个循环,多处使用SLEEP将导致性能的下降。

          5、线程的终止一般要使线程体在完成一件工作的情况下终止,一般不要直接使用抛出线程异常的方式终止线程。

          6、线程的优先级一定根据程序的需要要有个整体的规划。

多线程编程的注意事项

标签:工作   大小   nbsp   非阻塞   根据   socket   事件   线程池   消息   

原文地址:https://www.cnblogs.com/wwwbdabc/p/11653371.html

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