腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
std::
原子
的锁在哪里?
c++
、
c++11
、
x86
、
atomic
、
stdatomic
如果一个数据结构中有多个元素,那么它的
原子
版本就不能(总是)是无
锁
的。我被告知,对于较大的类型,这是正确的,因为CPU无法在不使用某种
锁
的情况下
原子
地更改数据。std::endl; std::cout << sizeof(var) << std::endl;输出(
Linux
/gcc)是:16由于
原子
和foo大小相同,所
浏览 3
提问于2018-05-11
得票数 81
回答已采纳
1
回答
原子
指令是否涉及内核?
linux
、
multithreading
、
locking
、
atomic
、
test-and-set
我阅读这个是为了了解
Linux
的futex。有件事我不明白。 我一直认为
原子
指令(如test-and-set )总是涉及内核。 那么,为什么第一次获取
锁
不涉及内核呢?更具
浏览 4
提问于2020-02-11
得票数 1
回答已采纳
1
回答
函数以
原子
方式读取值?
c++
、
multithreading
我目前正在玩
原子
读写,在我的理解中碰到了一道墙。我知道写入变量(如通过增量)必须是
原子
的,但我不确定是否读取变量。考虑一下Windows上的_InterlockedExchangeAdd或
Linux
上的__sync_add_and_fetch。我找不到一个以
原子
方式检索正在更新的值的函数。现在,我已经做了我的研究,在这里张贴和告诉我,读不是
原子
。 1)如果我使用上面的函数,我如何
原子
地读取这个值,例如,如果从一个函数返回它?2)如果我不想使用这些函数,只想在每次写入“
原子</em
浏览 2
提问于2016-07-05
得票数 0
回答已采纳
3
回答
便携式c++
原子
交换(Windows /
Linux
)
c++
、
portability
、
swap
、
atomic
是否有免费的便携 (Windows、GNU/
Linux
和MacOSX)库提供无
锁
的
原子
交换函数?谢谢
浏览 4
提问于2010-02-23
得票数 5
3
回答
比较和交换的工作原理
c
、
multithreading
、
mutex
、
compare-and-swap
我读过相当多的帖子,说比较和交换保证
原子
性,但是我仍然不能理解它是如何做到的。newvalue) int temp = *ptr; *ptr = newvalue}void lock(int *mutex) while(!CAS(mutex, 0 , 1));这如何防止两个线程同时获取互斥
锁
?
浏览 2
提问于2014-03-12
得票数 28
1
回答
在共享内存上分配
原子
c++
、
linux
、
atomic
我正在尝试分配一个共享内存块上的
原子
(在
linux
上)。
原子
将被访问并同时修改我的多个线程。在共享内存上分配它背后的合理性是因为我想持久化这些值,这样如果我的进程重新启动,就可以恢复以前的状态。我知道,如果我在共享内存中使用互斥
锁
,我必须将其初始化为共享的。对
原子
有这样的要求吗?这可行吗?
浏览 24
提问于2018-02-05
得票数 1
回答已采纳
2
回答
如果文件在Win10 PC上的samba共享上,在带有O_RDWR | O_CREAT | O_EXCL的
linux
上的open()是
原子
的吗?
c++
、
linux
、
samba
我正在将一些代码从Win32移植到使用
锁
文件的
Linux
上。我用open为
Linux
做了一个实现,但我只是不确定如果文件在Samba共享上,它是否会工作。为此,我使用带有O_CREAT | O_EXCL的
linux
open(),以便只有在文件尚不存在时才能成功创建该文件。如果运行我的软件的多台计算机同时尝试创建
锁
文件,那么下面的函数调用会是
原子
的吗?我不关心谁得到了
锁
,只要只有一个人得到了
锁
,所有其他人都没有得到
锁
。对于那些没有得到
浏览 57
提问于2019-06-05
得票数 2
1
回答
线程编程中
锁
与
原子
操作的关系
multithreading
、
locking
、
atomic
所有
锁
都是使用
原子
操作实现的吗?在一些书中,它说“一个
锁
需要几个
原子
操作”。我认为
原子
操作和
锁
是不同的东西。但看来我错了。
锁
和
原子
操作之间有什么关系?
浏览 1
提问于2019-03-16
得票数 3
1
回答
用户和内核空间之间的配对获取/发布操作
c
、
linux-kernel
、
memory-barriers
、
memory-model
、
stdatomic
我试图确保在
Linux
上运行在内核模式下的用户线程和另一个线程之间共享的内存块上进行适当的同步。
浏览 3
提问于2020-05-12
得票数 1
回答已采纳
3
回答
Linux
中writev()系统调用的
原子
性
linux
、
linux-kernel
、
kernel
、
system-calls
我查看了
linux
kernel 4.4.0-57-generic的内核源代码,在writev()源代码中没有看到任何
锁
。我是不是漏掉了什么?我看不出writev()是
原子
的或线程安全的。
浏览 2
提问于2017-01-28
得票数 3
1
回答
为什么不可以在32位系统上
原子
地访问64位值?
linux
、
atomic
在
Linux
上阅读"“时,我看到了一条声明: 我们可以使用
锁
使它是
原子
的,正如在同一篇文章的下一个项目中所描述的。
浏览 1
提问于2014-04-27
得票数 0
回答已采纳
1
回答
在
Linux
中调用schedule()
linux-kernel
、
linux-device-driver
、
user-mode-linux
我正在制作一个仿真驱动程序,它要求我在
原子
上下文中调用schedule(),以便使模拟部分工作。现在,我有一个允许我在
原子
(例如自旋
锁
)上下文中调用schedule()的黑客: current_thread_info我使用
Linux
内核4.2.1和用户模式
Linux
浏览 5
提问于2015-12-14
得票数 1
2
回答
在
Linux
2.6下,ioctl驱动函数是从
原子
上下文执行的吗?
linux
、
linux-kernel
、
driver
、
linux-device-driver
、
embedded-linux
我正在追踪我们的驱动程序中的一个“调度while
原子
”错误,我想知道ioctl是不是一个
原子
上下文。此外,如果任何人有任何关于如何进入和离开
原子
上下文以及它们发生的常见位置的分享,那将是很有帮助的。
浏览 0
提问于2010-09-03
得票数 5
回答已采纳
5
回答
linux
线程同步
linux
、
performance
、
synchronization
、
multithreading
、
locking
我是
linux
和
linux
线程的新手。我花了一段时间在googling上试图了解线程同步可用的所有函数之间的区别。我还有一些问题要问。如果作者更改了工作所依据的数据,seq
锁
只会告诉您何时完成工作。在这种情况下,你必须回去重复这一工作。
原子
操作是最快的同步调用,并且可能在上述所有锁定机制中使用。您不希望对共享数据中的所有字段使用
原子
操作。当您访问多个数据字段时,您希望在
锁
标志上使用
锁
(互斥
锁
、futex、spin、seq、rcu)或单个
原子<
浏览 6
提问于2010-04-07
得票数 5
回答已采纳
1
回答
互斥
锁
vs线程
锁
。使用哪一个?
python
、
multithreading
、
locking
、
mutex
我的主要问题是线程
锁
对象会创建
原子
锁
吗?它并没有说锁在模块文档中是
原子
的。在pythons的互斥
锁
文档中,它确实说互斥
锁
是
原子
的,但我似乎在某处读到了事实并非如此。我应该使用哪个
锁
。我目前使用python 2.4运行我的脚本
浏览 0
提问于2010-07-24
得票数 8
回答已采纳
1
回答
什么是“
原子
”系统调用?
linux
、
multithreading
、
operating-system
、
system-calls
、
atomic
我知道
原子
通常在竞赛条件下使用,并且根据多线程/多处理环境,意味着结果的一致性和确定性。没关系。但是最近我读到了
Linux
中的
原子
系统调用,不明白
原子
在这里实际上意味着什么,即这个
原子
性是如何实现的。这是否意味着这个系统调用只是使用资源上的
锁
(例如,目标文件inode上的open() ),或者还有更多的,可能是一些内核保证?我考虑禁用中断,但并不是所有的中断都可以禁用。也许这就足够了,因为内核使用的所有中断都可以被禁用,而其他中断太重要了,可以中断我们的
原子
系
浏览 3
提问于2015-03-21
得票数 2
1
回答
用于
原子
性以外的用途的
锁
multithreading
、
locks
我正在读关于大学多线程的文章,在其中一篇文章中,为了表明
原子
和
锁
()/Unlock()操作是不同的,它说“
锁
可以用于
原子
性以外的目的”,但它没有进一步解释。有人能举几个例子说明一下
锁
被用于非
原子
性的情况吗? 谢谢
浏览 0
提问于2014-09-04
得票数 1
回答已采纳
5
回答
用于执行
原子
操作的函数
c
、
atomic
C运行时库或其他实用程序库是否支持执行
原子
操作(如整数的递增/递减)等函数?使用这些函数是否比使用互斥等普通的同步原语更有好处?操作系统: Windows、
Linux
、Solaris和VxWorks
浏览 1
提问于2010-02-20
得票数 8
回答已采纳
1
回答
原子
enque和dque操作
linux-kernel
、
linux-device-driver
、
message-queue
我的一个项目要求在内核模块中使用
原子
入队和出队操作。请让我知道有什么API可以做到这一点。 致敬,普拉迪普
浏览 1
提问于2015-01-15
得票数 0
2
回答
原子
变量是无
锁
的吗?
c++
、
multithreading
、
c++11
、
x86-64
、
atomic
当我们讨论
原子
变量时,比如C++11的atomic<>,它是无
锁
的吗?或者,无
锁
是不同的吗?如果我用
原子
变量管理一个队列,它会比一个无
锁
队列慢吗?
浏览 0
提问于2012-04-11
得票数 42
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
从头开始进行CUDA编程:原子指令和互斥锁
Linux系统编程 读写锁rwlock
详解Linux多线程中的互斥锁、读写锁、自旋锁、条件变量、信号量
原子变量
【精通内核】Linux内核rcu(顺序)锁实现原理与源码解析
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券