| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> C++笔记--Linux编程(14)-线程同步 -> 正文阅读 |
|
[C++知识库]C++笔记--Linux编程(14)-线程同步 |
目录 线程同步技术说明????????线程共享进程的内存空间,打开的文件描述符,全局变量。 ????????当有多个线程同时访问一块内存空间或者一个变量、一个文件描述符,如果不加控制,那么可能会出现意想不到的结果。 互斥锁?????????互斥(mutex)是相互排斥的意思,它是一种锁或者信号灯。 ????????互斥用来保护多个线程共享的数据和结构不会被同时修改,一个互斥锁只能有两个状态 ???????????????? locked---加锁 ????????????????unlocked---解锁 ????????加锁后互斥不让其他线程访问。 ????????任何时刻只能有一个线程来掌握某个互斥上锁。 ????????一个线程如果试图在一个已经加锁的互斥上再加锁,这个线程会被挂起,直到加锁的线程释放掉互斥锁为止。?? 加锁和解锁函数?
PTHREAD_MUTEX_INITIALIZER是初始化一个快速锁的宏定义。 pthread_mutex_lock用于给mutex加锁。 pthread_mutex_unlock用于给mutex解锁。 需引入pthread.h 使用mutex线程同步示例
读写锁?与互斥锁类似,但读写允许更高的并行性。其特点:写独占,读共享 读写锁状态?具备三种状态: ? ? ? ? 1. 读模式下加锁状态(读锁) ? ? ? ? 2. 写模式下加锁状态(写锁) ? ? ? ? 3. 不加锁状态 读写锁特性? ? ? ? 1. 读写锁是“写模式加锁”时,解锁前,所有对该锁加锁的线程都会被阻塞 ? ? ? ? 2. 读写锁是“读模式加锁”时,如果线程以读模式对其加锁会成功;如果线程以写模式加锁会阻塞 读写锁示例
|
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 | -2025/3/4 11:14:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |