当前位置: 首页 > news >正文

嵌入式开发之线程互斥

目录

互斥锁初始化-pthread_mutex_init

申请锁-pthread_mutex_lock

释放锁-pthread_mutex_unlock

同步 VS 互斥 


临界资源:一次只允许一个任务(进程、线程)访问的共享资源,不允许多个任务同时访问的。

临界区:访问临界区的代码

互斥机制:mutex互斥锁,任务访问临界资源前申请锁,访问完后释放锁

互斥锁初始化-pthread_mutex_init

#include <pthread_h>

int pthread_mutex_init(pthread_mutex_t *mutex,const pthread_mutexattr_t *attr);

  • 成功返回0,失败返回错误码
  • mutex指向要初始化的互斥锁对象
  • attr 互斥锁属性,NULL表示缺省属性

申请锁-pthread_mutex_lock

#include <pthread.h>

int pthread_mutex_lock(pthread_mutex_t *mutex);

  • 成功时返回0,失败时返回错误码
  • mutex指向要初始化的互斥锁对象
  • 如果无法获取锁,任务阻塞

释放锁-pthread_mutex_unlock

#include <pthread.h>

int pthread_mutex_

http://www.lryc.cn/news/477358.html

相关文章:

  • JavaScript 变量作用域与函数调用机制:var 示例详解
  • Linux(CentOS)安装 JDK
  • AI产品经理实战手册:策略、开发与商业化指南
  • 【大语言模型】ACL2024论文-06 探索思维链COT在多模态隐喻检测中的应用
  • Linux之初体验
  • 现代化水电管理:Spring Boot在大学城的实践
  • 黑马官网2024最新前端就业课V8.5笔记---HTML篇
  • GS-Blur数据集:首个基于3D场景合成的156,209对多样化真实感模糊图像数据集。
  • Linux下Java的多种方式安装
  • Android Studio:connect time out
  • A014-基于Spring Boot的家电销售展示平台设计与实现
  • 数学期望和联合概率密度
  • 萤石私有化设备视频平台EasyCVR视频融合平台如何构建农业综合监控监管系统?
  • 【MongoDB】Windows/Docker 下载安装,MongoDB Compass的基本使用、NoSQL、MongoDB的基础概念及基础用法(超详细)
  • 微信小程序-自定义导航栏
  • vue中强制更新视图
  • mqsql 场景函数整理
  • 【AI日记】24.11.05 向量数据库 weaviate、混合搜索、多语言搜索、明确自己的南京
  • Scrapy入门
  • Ubantu/Linux 采用Repo或Git命令报错!!
  • C++简单工厂模式
  • 讲讲 kafka 维护消费状态跟踪的方法?
  • MySQL 和 PostgreSQL 的对比概述
  • 【Python单元测试】pytest框架单元测试 配置 命令行操作 测试报告 覆盖率
  • 【牛客刷题记录】【JAVA】栈
  • 【办公类-04-04】华为助手导出照片视频分类(根据图片、视频的文件名日期导入“年-月-日”文件夹中,并转移到“年-月”文件中整理、转移到“年”文件夹中整理)
  • 62-Java-面试专题(1)__基础
  • 快速构建数据产品原型 —— 我用 VChart Figma 插件
  • 登录—令牌技术
  • NPOI 操作详解(操作Excel)