前言

这里简单总结下项目工程中,使用到多线程的小技巧,方便后续温习。

使用方法如下

这里举个例子,对wheel数据,我们一方面需要从工程的其他话题读取,一方面在主线程中需要使用,因而我们需要对wheel数据进行加锁。

可以定义全局变量:

 std::condition_variable g_input_package_cond;std::mutex g_input_package_mutex;

加锁:

void uwb_uart_callback(const std_msgs::Bool &flags_anchor)
{if(flags_anchor.data){std::lock_guard<std::mutex> lck(g_input_package_mutex);b_get_uwb_anchor_position = true;}g_input_package_cond.notify_one(); //这里这个可加可不加
}

主线程:

  while(1){{ros::spinOnce();std::lock_guard<std::mutex> lck(g_input_package_mutex);if(b_get_anchor_position){break;}}sleep(3);}

C++加线程锁详解篇相关推荐

  1. Java中的锁详解篇

    文章目录 什么是锁 乐观锁和悲观锁 乐观锁 悲观锁 自旋锁 可重入锁 公平锁和非公平锁 读写锁 共享锁和独占锁 偏向锁.重量级锁和轻量级锁 重量级锁 轻量级锁 偏向锁 三种锁的区别 分段锁 同步锁和死 ...

  2. Linux 线程锁详解

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在Pos ...

  3. 嵌入式 linux 进程锁,嵌入式  Linux线程锁详解pthread_mutexattr_t

    在Posix Thread中定义有一套专门用于线程同步的mutex函数. 1. 创建和销毁 有两种方法创建互斥锁,静态方式和动态方式.POSIX定义了一个宏PTHREAD_MUTEX_INITIALI ...

  4. 公平锁非公平锁的实际使用_java 线程公平锁与非公平锁详解及实例代码

    java 线程公平锁与非公平锁详解 在ReentrantLock中很明显可以看到其中同步包括两种,分别是公平的FairSync和非公平的NonfairSync.公平锁的作用就是严格按照线程启动的顺序来 ...

  5. Java 线程池详解及实例代码

    转载自  Java 线程池详解及实例代码 这篇文章主要介绍了Java 线程池的相关资料,并符实例代码,帮助大家学习参考,需要的朋友可以参考下 线程池的技术背景 在面向对象编程中,创建和销毁对象是很费时 ...

  6. Android 性能优化(62)---存检测、卡顿优化、耗电优化、APK瘦身——详解篇

    Android 性能优化,内存检测.卡顿优化.耗电优化.APK瘦身--详解篇 自2008年智能时代开始,Android操作系统一路高歌,10年智能机发展之路,如今 Android 9.0 代号P  都 ...

  7. 多线程锁详解之【临界区】

    更多的锁介绍可以先看看这篇文章:多线程锁详解之[序章] 正文: 一般锁的类型可分为两种:用户态锁和内核态锁.用户态锁是指这个锁的不能够跨进程使用.而内核态锁就是指能够跨进程使用的锁.一般书中会说,wi ...

  8. Java类的加载过程详解 面试高频!!!值得收藏!!!

    受多种情况的影响,又开始看JVM 方面的知识. 1.Java 实在过于内卷,没法不往深了学. 2.面试题问的多,被迫学习. 3.纯粹的好奇. 很喜欢一句话: 八小时内谋生活,八小时外谋发展. 望别日与 ...

  9. 中yeti不能加载_第二十章_类的加载过程详解

    类的加载过程详解 概述 在 Java 中数据类型分为基本数据类型和引用数据类型.基本数据类型由虚拟机预先定义,引用数据类型则需要进行类的加载 按照 Java 虚拟机规范,从 Class 文件到加载到内 ...

最新文章

  1. 关于数据访问模式(三)—— Data Accessor模式
  2. 移除HTML5 input在type=number时的上下小箭头
  3. C++使用链表实现stack堆栈(附完整源码)
  4. 【已解决】FileNotFoundError: [Errno 2] No such file or directory:_Python系列学习笔记
  5. 使用 ABAP 代码向百度网站发起请求并收到回应
  6. 2020年阿里农产品电商报告
  7. C语言计算机二级考动态分配内存吗,08年计算机二级C语言辅导:malloc动态分配的内存的生存周期是多少?...
  8. 网站php镜像小偷,网站被镜像了怎么办?
  9. maiark京东短信登录
  10. silktest 破解 转帖未验证
  11. 小说APP源码,实现带下划线的密码输入框
  12. qq空间个人档html代码,最新整理QQ空间全代码
  13. python按条件删除行_python – 根据条件删除行组
  14. redis:redis与lua
  15. Unity之使用贝塞尔曲线制作图片轮播
  16. linux read 少读末尾一行的问题
  17. 有没有ai修复照片软件推荐?进来告诉你什么软件可以让照片变清晰
  18. HVV-Learning-区域边界网络下的攻击链路与攻击事件(BLAUKC)
  19. Deep Domain Confusion: Maximizing for Domain Invariance
  20. HCIP H12-222 题库

热门文章

  1. Python 3 文件和字符编码
  2. Java网络编程——11.非阻塞I/O
  3. 基于HTML5 Canvas 实现矢量工控风机叶轮旋转
  4. Boost之正则表达式_[转]
  5. Netflix实用API设计 1:Protobuf FieldMask实践
  6. 『图解Java并发』面试必问的CAS原理你会了吗?
  7. 服务治理治什么,10张图告诉你答案
  8. 不会MySQL索引,面试官让回家等通知!
  9. QPS、TPS、RT、并发数、吞吐量理解和性能优化深入思考
  10. 前端性能优化——从 10 多秒到 1.05 秒