腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
3
回答
C++ std::原子与增强原子
c++
、
multithreading
、
atomic
在我的应用程序中,我有一个int和bool
变量
,它们由多个线程访问(多个写/读)。目前,我使用两个互斥
变量
,一个用于int,另一个用于bool,用于保护这些
变量
。我听说过使用原子
变量
和操作符来编写无锁多线程程序。我的问题是 boost/
atomic
.hpp?和原子之间的主要区别是什么?哪个更标准,哪个更受欢迎?目前我正在
Linux
上使用gnu gcc 4.6,但理想的情况是它应该是跨平台的。我听说“原子”的定义
浏览 1
提问于2012-03-04
得票数 32
回答已采纳
2
回答
多平台原子增量
c++
、
boost
、
synchronization
、
atomic
、
multiplatform
在std::
atomic
出现之前,多平台(windows和
linux
)原子递增
变量
的方式是什么?我目前正在使用boost::detail::
atomic
_count,但它在boost::detail名称空间中,我不知道使用它是否安全。
浏览 1
提问于2011-11-03
得票数 2
回答已采纳
1
回答
使用
Linux
扩展是否避免了“无法读取由不同线程编写的数据”?
c++
、
c
、
linux
、
multithreading
请假设以下场景(OS = Redhat
Linux
),Writer Thread:使用FD=1写入文件。在std::
atomic
<int64_t>
变量
中设置最后写入的位置和大小。Reader :使用不同的FD=2读取上面的文件,值保存在std::
atomic
<int64_t>
变量
中。在std::
atomic
<int64_t>
变量
中设置最后写入的位置和大小。 编辑以获得更多的清晰度:只有附加已完成(,不发生覆盖),.writ
浏览 0
提问于2021-02-15
得票数 2
7
回答
UNIX便携式原子操作
c
、
concurrency
、
posix
、
atomic
在C中是否有一种(POSIX-)可移植的方式用于原子
变量
操作,类似于带有线程的可移植线程? 原子操作是原子执行的“增量和获取”之类的操作,这意味着没有上下文切换可以干扰操作。在
Linux
内核空间中,我们必须使用类型,而在Java中我们有包。在
Linux
上,
atomic
.h文件提供原子操作,但是包含是依赖于平台的,例如#include <asm-x86_64/
atomic
.h>,而且它在Mac上也不能以类似的方式使用。
浏览 25
提问于2009-07-15
得票数 33
回答已采纳
1
回答
使用std::原子与futex系统调用
c++
、
linux
、
c++20
、
stdatomic
、
futex
这意味着我们不能在带有超时的原子
变量
上睡觉。在
Linux
上,还不清楚是否可以将std::<e
浏览 5
提问于2021-04-10
得票数 12
回答已采纳
1
回答
在与原子负载和存储同步的线程之间共享
变量
安全吗?
c
、
multithreading
、
gcc
、
pthreads
、
atomic
在一个在GNU/
Linux
中用GCC编译的C程序中,使用非原子和非易失性
变量
在线程之间共享数据(如果使用这些
变量
的线程是通过原子负载和存储来同步的话)是否安全(从意义上说它不会引入意外行为)?int data = 0; data = 1; __
atomic
_store_n (&flag, 1, __
ATOMIC
_RELEASE__
atomic
_load_n (&flag,
浏览 3
提问于2015-01-19
得票数 5
回答已采纳
1
回答
为什么要为同名的函数定义宏?
c
、
linux-kernel
我在中找到了下面的代码{} #define arch_
atomic
_sub_and_test arch_
atomic
_sub_and_test
浏览 3
提问于2019-12-10
得票数 12
回答已采纳
3
回答
Linux
内核中的原子操作实现
c
、
linux-kernel
、
atomic
、
volatile
最近,我查看了一个原子读写的
Linux
内核实现,并提出了一些问题。首先是来自ia64体系结构的相关代码: int counter;#define
atomic
64_read(v) (*(volatile long *)&(v)->counter) #define
atomic
_set
浏览 2
提问于2012-02-15
得票数 16
回答已采纳
1
回答
armv5交叉编译节点对库的兼容性
c
、
node.js
、
arm
、
cross-compiling
apt-get install gcc-4.7-arm-
linux
-gnueabiapt-get installu-boot-toolsln -s /user/bin/arm-
linux
-gnueabi-gcc-4.7 /usr/bin/arm-
linux
-gnueabi-gccln -s /user
浏览 6
提问于2015-01-22
得票数 3
回答已采纳
2
回答
Linux
:为什么sig_
atomic
_t类型定义为整型?
c
、
linux
、
signals
在我的
Linux
机器上,sig_
atomic
_t是一个普通的老式int。ints是否拥有一种特殊的原子质量?Using built-in specs.Target: x86_64-
linux
-gnugcc version 4.3.2 (Debian 4.3.2-1.1) $ echo '#include <signal.h>' | gcc -E - | grep
atomic
typedef int __sig_
atomic</
浏览 0
提问于2012-03-08
得票数 29
回答已采纳
1
回答
交叉编译power-pc的boost库失败
linux
、
gcc
、
boost
、
g++
、
cross-compiling
交叉编译器powerpc-bt-
linux
-gnuspe-g++位于以下路径下: /usr/local/cross/ppce500v2-bt-
linux
-gnuspe/usr/include/c++/5.
浏览 6
提问于2017-05-13
得票数 1
3
回答
在
Linux
2.6.26内核中,我发现"#define
atomic
_read(v) ((v)->counter + 0)",为什么是"+0"?
c
、
linux
我在
Linux
2.6.26(
Linux
2.6.26/include/alpha/
atomic
.h)中发现了这种情况,并且不知道为什么这里的+0。#define
atomic
_read(v) ((v)->counter + 0) #define
atomic
64_read(v) ((v)->counter + 0)
浏览 0
提问于2019-04-24
得票数 8
回答已采纳
1
回答
OpenShift-支持MS
openshift
、
openshift-origin
环境:VERSION="7.3"ID_LIKE="fedora"VARIANT_ID=
atomic
.hostPRETTY_NAME="Red Hat Enterprise
Linux
<e
浏览 1
提问于2017-03-31
得票数 0
1
回答
为什么可以在重入函数中使用sig_
atomic
_t
c
、
linux
、
signals
、
reentrancy
我在
Linux
上开发C++已经很长时间了。当我开发一个独立的处理消息/任务队列的模块时,我总是处理SIGINT信号以避免消息/任务丢失。我以为sig_
atomic
_t是一种黑魔法。因为据我理解,函数sig_handler必须是一个重入函数,这意味着它不能保存任何静态或全局非常量数据:。所以我一直认为sig_
atomic
_t是一些棘手的东西,而不是一个全局
变量
。 但是今天我读到了这个链接:,它告诉我,sig_
atomic
_t只不过是一个类型胡枝子,比如int。因此,sig_
ato
浏览 5
提问于2021-01-06
得票数 2
回答已采纳
1
回答
在aarch64中使用pthread编译时出现ld错误
c++
、
pthreads
、
arm64
我正尝试在基于aarch64的
linux
主机上使用线程编译和链接一个简单的C++程序。1000 void increment_
atomic
_thread (
atomic
<int>& a) thread t2 ( [
浏览 4
提问于2021-01-02
得票数 0
2
回答
如何立即取消
Linux
内核模块中工作队列的工作项?
c
、
linux
、
linux-kernel
内核模块代码:#include <
linux
/kernel.h>#include <
linux
/在
Linux
内核4.9中进行了测试。
浏览 9
提问于2017-05-15
得票数 0
1
回答
关于arch/arm64/include/asm/
atomic
.h的
atomic
_add函数的几个问题
linux-kernel
、
embedded-linux
、
atomic
、
inline-assembly
、
arm64
我对基于
Linux
内核的C编码风格非常陌生.我试图从"arch/arm64/include/asm/
atomic
.h“文件(的第112-124行)了解”“函数的以下实现。static inline void
atomic
_add(int i,
atomic
_t *v) unsigned long tmp; asm volatile("//
atomic
_add\n"
浏览 6
提问于2021-04-27
得票数 0
回答已采纳
2
回答
在python中重写方法的内部函数
python
、
python-2.6
、
overriding
def _do_
atomic
_job(self):这是解决这个问题的一种切实可行的办法.但是,由于我有太多的参数需要从_do_
atomic
_job()中传输和恢复其他选项是使用self.param_var等将这些参数设置为类
变量
,但是这些参数只在代码的一小部分中使用,而使用self并不是解决这个问题的首选方法。 我想的最后一个选择是使用内部函数。(我知道我在
变量
范围方面会有问题,但正如我所说,这是一个最好的实践,忽略它们,思考范围,所有关于内部函数的事情都像
浏览 3
提问于2015-05-22
得票数 3
回答已采纳
1
回答
我需要std::
atomic
<bool>还是POD bool就足够了?
c++
、
multithreading
、
c++11
、
atomic
、
stdatomic
考虑下面的代码:std::
atomic
<bool> run = true; while (run) { /* do stuff */ } /* do stuff until it's time to shut down */这里是否需要与原子
变量
相关的开销?我的直觉是,布尔
变量
的读/写或多或少是原子的(这是一个常
浏览 29
提问于2017-06-22
得票数 10
回答已采纳
2
回答
std::原子的锁在哪里?
c++
、
c++11
、
x86
、
atomic
、
stdatomic
例如:#include <
atomic
> double a;}; std::cout << sizeof(foo) << std::endl;}如果一个原子
变量
浏览 3
提问于2018-05-11
得票数 81
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
linux 环境变量
Linux系统编程 条件变量
linux怎么设置环境变量
linux技术手册-定义环境变量
Linux中bash shell环境变量
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
云直播
活动推荐
运营活动
广告
关闭
领券