概述
- 前言
- linux下关于并行编程有两种实现方式:fork和pthread_create;其实内核中的执行路径是相同的,只是flags不一样罢了。本文的主题是关于pthread_create多线程编程中想要注意的一些知识点。
- 提多线程编程,就不可不提互斥以及同步,这两个概念摆在这,或许有很多人不屑,然而事实上可能很多人真的还不清楚。
- 概念
- 互斥:针对共享资源,如果不是共享资源,何需谈互斥。同一时刻,不能有两个或两个以上的线程操作同一个共享资源,这就是互斥。
- 同步:在某一个点,必须满足某个条件,才能进行下一步操作。至于当达到这个条件后,允许多少个线程同时进行下一步操作,这个是没有限制的。
- 技术
- 互斥锁(pthread_mutex_t):互斥。
- 读写锁(pthread_rwlock_t):变种的互斥。
- 条件变量(pthread_cond_t):同步。
- 信号量(sem_t):同步。
- 实例
- 附加
- 使用pthread_create创建的thread,使用getpid获取不到pid号,而应该使用gettid。http://man7.org/linux/man-pages/man2/gettid.2.html
- 引用
- https://docs.oracle.com/cd/E19253-01/819-7051/index.html
最后
以上就是默默咖啡为你收集整理的linux下多线程编程pthread 同步 互斥的全部内容,希望文章能够帮你解决linux下多线程编程pthread 同步 互斥所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复