编写多线程的一些注意
来源:互联网 发布:php 判断文件类型 编辑:程序博客网 时间:2024/06/14 10:32
1:线程是异步的,需要传入线程的数据,必须要在线程激活、或者在线程被创建之前赋值。绝对不要假设你的线程会等你。
2: 别将赌注压在线程竞争上。多线程竞争的因素有很多,比如处理器数量,进程的数量,以及当前的网络开销,当你开发多线程时,应该假定在任意时间点,在程序的任何语句
内,每个线程可能睡眠一段不定的时间。
3:合作避免僵局(死锁),保证互斥量的调用顺序,不少死锁的产生是因为函数退出之前没释放互斥量。
4:避免优先级倒置,1完全避免实时调度;2涉及你的线程使不同优先级的线程使用不同的互斥量,不太可能必须某些ANSI C函数使用的互斥量;
3使用优先级ceiling互斥量或优先级继承,这些是pthreads的可选特性,你不能为不是你建立的互斥量设置优先级协议,包括ANSI C函数的互斥量;
4避免调用这样的函数:他可能锁住不是你创建的互斥量并提升互斥量的优先级.
5:绝不要在谓词之间共享条件变量,避免单个条件变量管理多个谓词条件。当你确实要使用谓词共享,最好使用pthread_cond_broadcast
6: pthread_cond_signal会比pthread_cond_broadcast需要线程自己处理假唤醒和拦截唤醒的问题。pthread_cond_broadcast唤醒所有条件变量阻塞的线程,然后判断谓词运行线程。
7:
阅读全文
0 0
- 编写多线程的一些注意
- 多线程要注意的一些陷阱
- JAVA多线程的一些注意点
- 编写Windows服务应该注意的一些心得
- 编写代码时应该注意的一些地方
- 编写nginx的http模块需要注意一些细节
- 做网站网页编写时应该注意的一些规范
- 关于jquery中编写插件的一些注意点分析
- 编写sql语句时需要注意的一些问题
- 编写Java代码一些注意点
- 编写跨平台的Java程序时需要注意的一些事情
- 编写跨平台的Java程序是需要注意的一些事情
- 编写代码的一些小细节,主要是性能方面的注意吧
- static的一些注意!
- 全局变量的一些注意
- 一些需要注意的
- python的一些注意
- MBProgressHUD 的一些注意
- Spark性能调优:合理设置并行度
- 色彩基础
- 微信小程序自制scroll-view横向滑动滚动条(仿拼多多)
- 1.参考文献格式未满行直接换行
- hadoop配置
- 编写多线程的一些注意
- IIS 元数据访问失败
- hadoop配置
- C#中关于搜狗地图web服务api的httpresponse中回应json中文乱码的问题 Encoding
- 将一个工程下的对话框复制到另一个工程下
- ubuntu 登录服务器上传下载文件
- RPC是什么?RPC与REST、Socket的区别?php中流行的rpc框架有哪些?
- CSDN搞什么
- 14周项目1-4平衡二叉树相关算法