C++ 并发指南-atomic原子变量使用struct(二)
错误:在函数‘std::atomic::store(Test, std::memory_order)’中:/usr/include/c++/5/atomic:225:对‘__atomic_store’未定义的引用
#include <atomic>
#include <iostream>
#include <thread>
#include <ctime>struct Test{int a;double b;int c[100];
};class Distest{public:std::atomic<Test > Mydata;Distest(){};~Distest(){}bool init();std::thread th1;void th1_func();std::thread th2;void th2_func();
};
#include <zconf.h>
#include "display.h"void Distest::th1_func() {int i=0;while(true){Test ap;ap.a=i;ap.c[0]=i;Mydata.store(ap,std::memory_order_relaxed);std::cout<<"write\n";i++;sleep(1);}
}void Distest::th2_func() {int i=0;sleep(2);while(true){Test pa;pa=Mydata.load(std::memory_order_relaxed);std::cout<<"read,pa.c[0]="<<pa.a;sleep(1);i++;}
}bool Distest::init() {th1=std::thread(&Distest::th1_func,this);th2=std::thread(&Distest::th2_func, this);return true;
}
如果使用cmake,最重要的一点,添加:
target_link_libraries(lidar3d atomic )
C++ 并发指南-atomic原子变量使用struct(二)相关推荐
- Go语言自学系列 | golang并发编程之原子变量的引入
视频来源:B站<golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! ...
- C++11 并发指南六( atomic 类型详解二 std::atomic )
C++11 并发指南六(atomic 类型详解一 atomic_flag 介绍) 一文介绍了 C++11 中最简单的原子类型 std::atomic_flag,但是 std::atomic_flag ...
- C++11 并发指南六(atomic 类型详解一 atomic_flag 介绍)
C++11 并发指南已经写了 5 章,前五章重点介绍了多线程编程方面的内容,但大部分内容只涉及多线程.互斥量.条件变量和异步编程相关的 API,C++11 程序员完全可以不必知道这些 API 在底层是 ...
- 聊聊高并发(二十)解析java.util.concurrent各个组件(二) 12个原子变量相关类
这篇说说java.util.concurrent.atomic包里的类,总共12个,网上有很多文章解析这几个类,这里挑些重点说说. 这12个类可以分为三组: 1. 普通类型的原子变量 2. 数组类型的 ...
- Java多线程(二)之Atomic:原子变量与原子类
一.何谓Atomic? Atomic一词跟原子有点关系,后者曾被人认为是最小物质的单位.计算机中的Atomic是指不能分割成若干部分的意思.如果一段代码被认为是Atomic,则表示这段代码在执行过程中 ...
- C++11 并发指南六(atomic 类型详解四 C 风格原子操作介绍)
前面三篇文章<C++11 并发指南六(atomic 类型详解一 atomic_flag 介绍)>.<C++11 并发指南六( <atomic> 类型详解二 std::at ...
- C++11 并发指南六(atomic 类型详解三 std::atomic (续))
C++11 并发指南六( <atomic> 类型详解二 std::atomic ) 介绍了基本的原子类型 std::atomic 的用法,本节我会给大家介绍C++11 标准库中的 std: ...
- Java并发26:Atomic系列-ABA问题-带版本戳的原子引用类型AtomicStampedReference与AtomicMarkableReference
[超级链接:Java并发学习系列-绪论] [系列概述: Java并发22:Atomic系列-原子类型整体概述与类别划分] 本章主要对带版本戳的原子引用类型进行学习. 1.ABA问题 带版本戳的原子引用 ...
- JAVA 并发编程实践 - 原子变量与非阻塞同步机制 笔记
2019独角兽企业重金招聘Python工程师标准>>> 非阻塞算法: 利用底层的源自机器指令(比如CAS)代替锁来实现数据在并发访问中的一致性.应用于:操作系统和JVM中实现线程/进 ...
- 并发编程(1): volatile、原子变量、自旋锁和互斥锁
并发编程三条特性: 原子性 原子性是指一个操作是不可中断的,要么全部执行成功要么全部执行失败. 可见性 可见性是指当一个线程修改了共享变量后,其他线程能够立即看见这个修改. 有序性 有序性是指程序指令 ...
最新文章
- Vue + Element UI + Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(十)问题管理页面
- 三维重建8:点云图像的滤波方法
- 面向.NET开发人员的Dapr——绑定
- php获取悉尼时间,php在使用澳大利亚/悉尼时区时给出错误答案
- python统计列表中数字出现的次数_Python实现统计给定列表中指定数字出现次数的方法...
- C# DllImport用法和路径问题
- Nginx安装及配置文件解释
- Glide加载圆形图片第一次只显示默认图片
- 想批量转换音频?来试试这几个会议录音转文字软件
- 博弈论-第一章 概述
- basler相机参数简要中文说明_Basler相机参数在NI软件下打开相机参数说明
- 全国各省电信、联通、网通、铁通DNS列表
- 域名检测工具图文教程
- 要重复多少次变成潜意识_量变到质变,首先要做的是不断重复
- Win10系统自带的虚拟机怎么打开教学
- 【机器学习】李宏毅 - 02 回归
- centos 如何查看操作系统是哪个版本
- logger日志系统
- AngularJS风格指南
- 画像ToB独角兽,怎么做风口下能飞的猪?