腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
试图理解Haskell STM简单的事情
、
、
我被困于理解STM中
原子
化的概念。
加
4错的结果
加
1
假结果加在2 FalseResult中加3 FalseResult
加
4假
加
1
假结果加在2 FalseResult中加4 FalseR
浏览 4
提问于2011-02-02
得票数 3
回答已采纳
1
回答
函数以
原子
方式读取值?
、
我目前正在玩
原子
读写,在我的理解中碰到了一道墙。我知道写入
变量
(如通过增量)必须是
原子
的,但我不确定是否读取
变量
。考虑一下Windows上的_InterlockedExchangeAdd或
Linux
上的__sync_add_and_fetch。我找不到一个以
原子
方式检索正在更新的值的函数。现在,我已经做了我的研究,在这里张贴和告诉我,读不是
原子
。
1
)如果我使用上面的函数,我如何
原子
地读取这个值,例如,如果从一个函数返回它?2)如果我
浏览 2
提问于2016-07-05
得票数 0
回答已采纳
7
回答
UNIX便携式
原子
操作
、
、
、
在C中是否有一种(POSIX-)可移植的方式用于
原子
变量
操作,类似于带有线程的可移植线程?
原子
操作是
原子
执行的“增量和获取”之类的操作,这意味着没有上下文切换可以干扰操作。在
Linux
内核空间中,我们必须使用类型,而在Java中我们有包。在
Linux
上,atomic.h文件提供
原子
操作,但是包含是依赖于平台的,例如#include <asm-x86_64/atomic.h>,而且它在Mac上也不能以类似的方式使用。
浏览 25
提问于2009-07-15
得票数 33
回答已采纳
1
回答
MSBUILD:
变量
加
1
?
、
我有一个文本文件,里面有一个数值(比方说
1
)。
浏览 1
提问于2011-12-07
得票数 6
回答已采纳
3
回答
确定一个项的最大深度
注释:
变量
、数字、函数符号的深度为0,谓词符号为0。?-depth((p(X,a(q(Y)),c), X).
浏览 3
提问于2015-07-02
得票数 0
回答已采纳
1
回答
在方案中递归处理嵌套列表以搜索
原子
、
、
我的目标是递归地迭代任何给定的列表,并计算给定
原子
在列表中出现的次数。我一直收到涉及过程的错误。(car x) atom) (+
1
(count(atom (cdr x))))) (else(+(count atom (cdr x)) (count atom (car x)))))) 我尝试使用car检查第一个元素是否不是嵌套列表。如果不是,我就把它比作<e
浏览 15
提问于2016-09-12
得票数 0
2
回答
std::
原子
的锁在哪里?
、
、
、
、
如果一个数据结构中有多个元素,那么它的
原子
版本就不能(总是)是无锁的。我被告知,对于较大的类型,这是正确的,因为CPU无法在不使用某种锁的情况下
原子
地更改数据。std::endl; std::cout << sizeof(var) << std::endl;输出(
Linux
/gcc)是:16由于
原子
和foo大小相同,所以我不认为锁存储在
原子</e
浏览 3
提问于2018-05-11
得票数 81
回答已采纳
2
回答
如何在AIX/powerpc上实现
原子
分配?
、
、
、
我只需要
原子
读操作和
原子
写入操作(我不使用获取和添加、比较和交换等操作)。我只想澄清:对我来说,“
原子
性”不仅意味着“没有交错”,还意味着“跨多个核的可见性”。这些操作对指针进行操作,因此对'int‘
变量
的操作对我来说是无用的。__asm__ __volatile__("stw%U0%X0 %
1
,%0" : "=m"(v->
浏览 5
提问于2011-07-06
得票数 3
2
回答
每次向
变量
加
1
、
= nil){ } image
1
.tag = a; 问题是,当a=a +
1
时,我希望
变量
增加:
1
,2,3,4…但它始终保持为
1
,因此每个图像都有一个标记
1
。
浏览 0
提问于2012-05-05
得票数 0
回答已采纳
1
回答
使用std::
原子
与futex系统调用
、
、
、
、
在C++20中,我们可以在
原子
变量
上休眠,等待它们的值改变。我们通过使用方法来做到这一点。睡在
原子
变量
上,不管怎么说,都是用在Windows上实现的,系统调用是在
Linux
上实现的。为了解决上述问题(无法在
原子
变量
上使用超时睡眠),我可以在std::atomic上将WaitOnAddress的内存地址传递给
浏览 5
提问于2021-04-10
得票数 12
回答已采纳
1
回答
在与
原子
负载和存储同步的线程之间共享
变量
安全吗?
、
、
、
、
在一个在GNU/
Linux
中用GCC编译的C程序中,使用非
原子
和非易失性
变量
在线程之间共享数据(如果使用这些
变量
的线程是通过
原子
负载和存储来同步的话)是否安全(从意义上说它不会引入意外行为)?对于示例,GCC是否保证以下代码将按预期工作(thread_2总是返回
1
)?假设两个函数都是从不同的线程调用的。如果使用C11
原子
原语编写,如果使用POSIX线程互斥进行同步,还是使用POSIX信号量,则会有什么不同吗?我只将以下代码作为特定情况包括在内。int data
浏览 3
提问于2015-01-19
得票数 5
回答已采纳
2
回答
Java int concurrency ++int等同于AtomicInteger.incrementAndGet()?
、
、
、
换句话说,++和--运算符是
原子
的吗?
浏览 0
提问于2010-05-05
得票数 9
回答已采纳
3
回答
std::mutex和QMutex在MinGW 64中的性能(posix线程版本)
、
、
、
、
我最初认为两者都是Win32线程的包装器(为std::thread提供了一层额外的p线程),但实际上Qt并没有为互斥使用任何内核函数,而是基于
原子
变量
有自己的内部实现。这个看起来要快得多。真的有可能完全实现一个只有
原子
变量
的互斥体吗?它有局限性吗? 谢谢
浏览 2
提问于2015-03-20
得票数 5
回答已采纳
3
回答
如何保证比较结果在多线程中仍然有效?
、
假设有3个线程,atomic_increase(X)atomic_decrease(X)if( X > 5 ) {... logic
1
...}我认为atomic_xxx操作是不够的。它们只能同步线程
1
和线程2之间的修改。如果X在线程3完成比较后被线程
1
或2更改并进入 logic <
浏览 5
提问于2021-12-15
得票数 5
1
回答
我需要std::atomic<bool>还是POD bool就足够了?
、
、
、
、
考虑下面的代码:std::atomic<bool> run = true; while (run) { /* do stuff */ } /* do stuff until it's time to shut down */这里是否需要与
原子
变量
相关的开销?我的直觉是,布尔
变量
的读/写或多或少是
浏览 29
提问于2017-06-22
得票数 10
回答已采纳
1
回答
在并发编程中,“数据竞争”和“
原子
性冲突”有什么区别?
、
、
我的教授说,
原子
性违规是当代码假定两个访问是
原子
的,但实际上它们不是
原子
的。数据竞赛似乎是当比赛条件发生时。这两件事在我看来是一样的,但显然是不同的。我不明白区别,所以我希望有人能给我更多的细节。
浏览 9
提问于2022-10-22
得票数 1
1
回答
如何在CONST方法中访问与GCC的sync_fetch_and_add类似的32或64位整数值?
、
、
为了这个问题的目的,我询问更多关于如何这样做的问题,而不是它是否值得这样做;) 代码是用GCC 4.4.7,iir和
Linux
86-64编译的.我经常碰到这样的呼叫:InterlockedCopy(variable因此,如果我使用的是一个"status“标志
变量
,目前是一个uint32_t (但我愿意更改类型或使用typedef sig_int_t等),并且我希望将其设置为一个线程中的某个枚举值,然后通过一个const请原谅我的无知,但我在想: GCC有很多
原子
原语。包括前、后
加
、减、或等值,并
原子</e
浏览 6
提问于2015-10-31
得票数 0
1
回答
需要Solaris(sparc架构)上的
原子
加法操作代码
、
我需要
原子
操作代码,等同于以下代码: " lock;\n" " movl %0, %%eax" );
浏览 1
提问于2009-11-11
得票数 0
3
回答
C++/
Linux
:使用c++11
原子
避免在双映射mmap区域上部分读取
、
、
、
、
我尝试使用C++11
原子
来控制内存顺序。作者线程: 如果有未完成的消息,请从只读内存映射区域读取数据。
原子
变量
能保护部分读取吗?(也就是说,如果读取器线程看到
原子
变量
被更新为获取语义,那么只读内存区域是否只有部分消息,或者消息根本
浏览 2
提问于2015-11-09
得票数 4
3
回答
对某个
变量
每秒
加
1
、
、
我只想在程序运行时每秒将
1
添加到某个
变量
中。我看到很多setIntervals,但他们使用var,这是不起作用的。 我是新来Java的,所以请耐心听我说。
浏览 1
提问于2014-12-05
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
原子变量
Java并发编程之原子变量
Linux 内核原子操作
linux 环境变量
Linux系统编程 条件变量
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
腾讯会议
活动推荐
运营活动
广告
关闭
领券