我是靠谱客的博主 默默咖啡,最近开发中收集的这篇文章主要介绍linux下多线程编程pthread 同步 互斥,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  • 前言
    • 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 同步 互斥所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部