lock与unlock用法(简单易懂)

2023-11-14

lock最简单的用法就是:在多线程中,我们往往要操作同一块内存,但是同一时间只允许一个线程操作,其他想要操作,只能等到被释放。这个时候就可以用到lock(文件共享锁)

用法:

mutex  +名称

例如 mutex  testlock

举个例子:

例如我们要创建一个全局的数组,接收数据

//创建锁
mutex  testlock

unsigned char g_test[4]={0,0,0,1};

//此时我们假设有两个线程要进行操作这个数组
thread t1(test_1Thread)
thread t2(test_2Thread)
t1.join();
t2.join();
int test_1Thread()
{
    //操作之前加锁
      testlock.lock();
      g_test[2]=0x01;
     //操作完成释放 
     testlock.unlock();
}


int test_2Thread()
{
     //操作之前加锁
     testlock.lock();
     g_test[1]=3;
     g_test[3]=0x05;
     //操作完成释放 
     testlock.unlock();
}

以上都是伪代码,只需要理解其中意思即可。用法很简单,也是多线程中常用的锁。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

lock与unlock用法(简单易懂) 的相关文章

  • 实实在在万事达!实在智能助力山东万事达集团加速数智化转型

    近日 杭州实在智能科技有限公司 以下简称 实在智能 与山东建筑钢市场 领头羊 山东万事达控股有限公司 以下简称 万事达集团 召开 RPA 机器人流程自动化 项目启动会 实在智能携手万事达集团 联合共建财务RPA一体化研发管理项目 以下简称
  • 培训学习大数据知识有哪些方法

    学习大数据知识是当前非常热门的话题 随着大数据技术的不断发展 越来越多的人开始关注并学习大数据知识 在大数据培训班学习大数据知识是一个非常好的选择 下面我将从制定大数据学习计划 项目实战案例练习 以用为学 与培训班老师多交流等四个方面来详细
  • 易点易动固定资产管理系统:集成飞书,助力企业全生命周期固定资产管理

    易点易动固定资产管理系统 集成飞书 助力企业全生命周期固定资产管理 在现代商业环境中 固定资产管理对企业的运营和发展至关重要 为了提高管理效率和降低成本 我们引入了易点易动固定资产管理系统 该系统集成了飞书 为企业提供全生命周期的固定资产管
  • CRM软件对企业发展起着哪些作用?CRM的功能解析

    虽然不少科技成果昙花一现 但CRM管理系统作为销售和营销领域的核心技术 已经牢牢占据了不可撼动的地位 拥有一个部署得当的CRM系统能为企业带来诸多好处 它可以跟踪和管理销售人员与潜在 现有客户的所有互动和沟通 并帮助他们识别出需要重点培养或
  • 重磅国赛开赛!中国大学生服务外包创新创业大赛飞桨双赛道开放报名

    中国大学生服务外包创新创业大赛是服务外包领域唯一的创新 创业国家级赛事 是中国高等教育学会 全国普通高校学科竞赛排行榜 竞赛 服创大赛紧贴现代服务经济和创新 创业 创富主题 强调应用导向和产学互动 在服务外包领域搭建一个大学生创新与创业能力
  • HOOPS助力AVEVA数字化转型:支持多种3D模型格式转换!

    行业 电力和公用事业 化工 造船 能源 采矿业 挑战 创建大规模复杂资产的客户需要汇集多种类型的数据 以支持初始设计和创建强大的数字双胞胎 现有版本的产品只支持半打CAD格式 有限的内部开发资源限制了增加对新格式支持的能力 解决方案 HOO
  • 门禁管理:我才知道这个技术,可以如此高效!

    随着社会的发展和科技的进步 门禁监控技术在各类场所得到了广泛的应用 门禁监控系统不仅仅是简单的出入口管理 更是对安全和隐私的重要保障 客户案例 企业办公大楼 在现代企业办公环境中 对于办公大楼的安全管理显得尤为重要 通过部署泛地缘科技推出的
  • 【flink番外篇】9、Flink Table API 支持的操作示例(1)-完整版

    Flink 系列文章 一 Flink 专栏 Flink 专栏 系统介绍某一知识点 并辅以具体的示例进行说明 1 Flink 部署系列 本部分介绍Flink的部署 配置相关基础内容 2 Flink基础系列 本部分介绍Flink 的基础部分 比
  • 广告竞价策略:激发广告变现潜能的关键

    在数字化时代 广告已经成为企业推广品牌 产品和服务的关键手段之一 为了最大程度地发挥广告的效果 广告竞价策略成为广告主和数字营销专业人士关注的焦点 通过巧妙运用竞价策略 广告主可以在激烈的市场竞争中脱颖而出 实现广告变现的潜能 admaoy
  • 神州信息一表通监管合规系统

    什么是 一表通 国家金融监督管理总局为进一步建立健全数据统计监管体系 规范数据报送指标体系 明确检测数据规则 而推行建立的一套新体系监管报送方式 提升校验准确性和信息安全性 近期 国家金融监督管理总局更是进一步加大推动 一表通 的实行试点范
  • 期权怎么开户:期权开户免费吗,需要什么样的门槛?

    期权开户是免费的 只有交易才会产生费用 开通期权账户需要满足50万的资金 以及融资融券交易经验或者金融期货交易经验 当然也有免50万门槛的开户方式 下文为大家科普期权怎么开户啊 期权开户免费么 一般情况下 期权是可以通过在营业部网点进行开户
  • 流程管理的未来:人工智能如何改变业务运行

    1 背景介绍 流程管理是企业在实现业务目标时所采取的一系列有序 连贯的活动 它涉及到许多领域 如生产 销售 研发 财务等 随着企业规模的扩大和市场竞争的激烈 流程管理的复杂性也不断增加 人工智能 AI 技术的发展为流程管理提供了新的机遇 有
  • 机器学习中的知识共享:模型与数据的交流与协作

    1 背景介绍 机器学习 Machine Learning 是一种通过数据学习模式和规律的计算机科学领域 在过去的几年里 机器学习技术在各个领域得到了广泛应用 如图像识别 自然语言处理 推荐系统等 随着数据规模的不断增长 单个机器学习模型的复
  • spark相关

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 例如 随着人工智能的不断发展 机器学习这门
  • 什么是充放电振子理论?

    CHAT回复 充放电振子模型 Charging Reversal Oscillator Model 是一种解释ENSO现象的理论模型 这个模型把ENSO现象比喻成一个 热力学振荡系统 在这个模型中 ENSO现象由三个组成部分 充电 Char
  • 2024 人工智能与大数据专业毕业设计(论文)选题指导

    目录 前言 毕设选题 选题迷茫 选题的重要性 更多选题指导 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研究生
  • AI在保护环境、应对气候变化中的作用

    对于AI生命周期数据领域的全球领导者而言 暂时搁置我们惯常的AI见解和AI生命周期数据内容产出 来认识诸如世界地球日这样的自然环境类活动日 似乎是个奇怪的事情 我们想要知道 数据是否真的会影响我们的地球环境 简而言之 是 确实如此 但作为一
  • CorelDRAW2024官方中文版重磅发布更新

    35年专注于矢量设计始于1988年并不断推陈出新 致力为全球设计工作者提供更高效的设计工具 CorelDRAW 滋养并见证了一代设计师的成长 在最短的时间内交付作品 CorelDRAW的智能高效会让你一见钟情 CorelDRAW 全称 Co
  • 【产品兼容认证】WhaleStudio 成功兼容TiDB数据库软件

    平凯星辰和白鲸开源宣布成功完成产品兼容认证 北京 2023年12月27日 平凯星辰 北京 科技有限公司 以下简称平凯星辰 旗下的 TiDB 产品与白鲸开源的 WhaleStudio 已成功完成产品兼容性认证 这一重要合作旨在为全球客户提供更
  • ESM10A 消除对单独 PLC 的需求

    ESM10A 消除对单独 PLC 的需求 ESM10A 可以消除对单独 PLC 的需求 该程序是在 PC 上开发的 然后使用免费提供的简单易用的 EzSQ 软件下载到逆变器 似乎这些改进还不够 日立还在 SJ700 中添加了其他新功能 例如

随机推荐

  • C#试题

    1 关于C 中的结构 一下说法中错误的是 选择一项 A 结构可以有构造函数 B 结构体内可以有字段 C 结构体内可以有方法 D 结构体内可以被继承 2 在C 编程中 访问修饰符控制程序对类中成员的访问 如果不写访问修饰符 类的默认访问类型是
  • excludePathPatterns方法不生效

    1 场景 我在项目中配置了License证书授权的功能 然后在配置拦截器的时候拦截了所有的请求都必须验证License是否到期 但是这样会导致接口响应慢 所以打算使用 excludePathPatterns 方法对部分url请求放行 例如我
  • element UI 表格table多个数值进行排序筛选

    效果图 1 表格html部分
  • Java序列化和反序列化(详解)

    一 理解Java序列化和反序列化 Serialization 序列化 将java对象以一连串的字节保存在磁盘文件中的过程 也可以说是保存java对象状态的过程 序列化可以将数据永久保存在磁盘上 通常保存在文件中 deserializatio
  • ffmpeg源码安装

    ffmpeg源码安装 http blog yundiantech com log blog id 35 1 安装yasm tar xvzf yasm 1 3 0 tar gz cd yasm 1 3 0 configure make mak
  • 北斗高精度卫星接收机的分类

    北斗卫星导航接收机是用来收集处理天线接收到的电磁信号 理想的接收机抑制所有不需要的噪声 并对需要的信号不增加任何噪声或干扰 不管信号的形式或格式如何 它都可以变换 以适合信号处理器检波电路所要求的特性 然后再送到智能用户接口 北斗卫星导航接
  • [war打包]在maven-antrun-plugin复制更改了配置文件但是maven-war-plugin打包出来配置文件没变化(草稿)

    前言 背景介绍 在某个java web项目中 需要根据maven的profile的配置进行properties文件的切换 例如 项目的配置文件结构如下 在resources文件夹下面分别有profiles文件夹及conf文件夹 重点关注 p
  • 【OpenCV入门教程Java版之一】安装OpenCV:OpenCV4.6.0+IDEA开发环境配置

    在读研期间的研究方向与图像处理有一点相关 后来由于工作可能会有需要 所以晚上回去也闭门研究了OpenCV和图像处理相关的知识 也准备写一个OpenCV系列的专栏作为自己的学习笔记 也分享给大家 如果有写错的地方也欢迎大家及时指出 好了这篇文
  • 搭建STM32F407的SPI-Flash(基于STM32CubeMX)

    网上有不少例子 都对 但对我来说碰到几个坑 避免以后再犯错 mark下 目标 通过SPI接口 对Nor Flash进行读写 开发板上Nor Flash 是W25Q128 128Mbit 也就是16MB样子 CubeMx端配置 配置要分两个
  • OpenStack--实现内外网结构

    类似于阿里云 ECS 主机的内外网 双网卡不通网段 的结构 最终实现内外网区分隔离 https www aliyun com product ecs utm medium text utm source baidu utm campaign
  • STM32低速时钟频率校准方法

    RT Thread的PM组件利用LPTIM来实现低功耗唤醒和系统tick补偿 而LPTIM的时钟源一般会选择LSI LSI这玩意儿功耗虽然只有几百nA 但是频偏非常大 例如STML051手册上就说LSI的频率在26kHz 56kHz之间 典
  • STL-stack容器和queue容器

    stack概念 stack是一种先进后出 First In Last Out FILO 的数据结构 它只有一个出口 栈中只有顶端的元素才可以被外界使用 因此栈不允许有遍历行为 与queue相似 stack也是一个适配器类 它给底层vecto
  • %d %ld %lld

    因特网 互联网 以太网 局域网的区别 相信下面几个表达方式 就能说明问题吧 d int ld long lld long long 在32位编译器上 int long 32bit long long 64bit
  • 心得:Javascript的内存释放实验

    我以前也看过关于javascript的内存释放的文章 但我从来也没仔细看过 原因 一来我觉得这个东西可有可无 二来 鬼知道这些理论到底有没有科学根据 今天我做了一个小小的实验 证实内存释放还是有用的 比如有如下程序 var a new Ar
  • 一个三节点的PVE 6.1+CEPH集群,因为系统损坏,全部重新安装。

    注意 逐一重装系统 重新加入PVE集群 重新加入CEPH集群 先禁用ceph的recover 避免其因OSD丢失重建 任一节点执行 for i in noout nobackfill norecover do ceph osd set i
  • windows上面运行jar文件

    1 ctrl r进入CMD模式 2 切换到jar所在的目录 我的XXX jar在D workspace下面 3 运行jar java jar XXX jar
  • Redis过期策略与淘汰策略

    redis为什么这么快 原因之一就是Redis操作都是基于内存的 既然是基于内存的 而内存的大小是有限的 当内存不足或占用过高时 Redis会采用内存淘汰机制进行数据淘汰 一 Redis的过期策略 Redis在设置缓存数据时指定了过期时间
  • 前端常用第三方库

    常用功能的第三方插件集合 一 下载 1 原生 1 a 标签 只能同源下载 2 iframe 下载 支持跨域get请求 3 Form 表单下载 支持跨域get和post请求 2 第三方插件 1 FileSaver js 2 StreamSav
  • [leetcode] 358. Rearrange String k Distance Apart 解题报告

    题目链接 https leetcode com problems rearrange string k distance apart Given a non empty string str and an integer k rearran
  • lock与unlock用法(简单易懂)

    lock最简单的用法就是 在多线程中 我们往往要操作同一块内存 但是同一时间只允许一个线程操作 其他想要操作 只能等到被释放 这个时候就可以用到lock 文件共享锁 用法 mutex 名称 例如 mutex testlock 举个例子 例如