腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
原子
指令是否涉及内核?
、
、
、
、
我阅读这个是为了了解
Linux
的futex。有件事我不明白。 我一直认为
原子
指令(如test-and-set )总是涉及内核。 那么,为什么第一次获取<
浏览 4
提问于2020-02-11
得票数 1
回答已采纳
3
回答
比较和交换的工作原理
、
、
、
我读过相当多的帖子,说比较和交换保证
原子
性,但是我仍然不能理解它是如何做到的。newvalue) int temp = *ptr; *ptr = newvalue}void lock(int *mutex) while(!CAS(mutex, 0 , 1));这如何防止两个
线程
同时获取互斥
锁
?
浏览 2
提问于2014-03-12
得票数 28
5
回答
linux
线程
同步
、
、
、
、
我是
linux
和
linux
线程
的新手。我花了一段时间在googling上试图了解
线程
同步可用的所有函数之间的区别。我还有一些问题要问。您不希望对共享数据中的所有字段使用
原子
操作。当您访问多个数据字段时,您希望在
锁
标志上使用
锁
(互斥
锁
、futex、spin、seq、rcu)或单个
原子
操作。我应该远离任何函数(spin/seq
锁
),这些函数中有"irq“这个词。 哪些
锁
用于编写内
浏览 6
提问于2010-04-07
得票数 5
回答已采纳
3
回答
Linux
中writev()系统调用的
原子
性
、
、
、
我查看了
linux
kernel 4.4.0-57-generic的内核源代码,在writev()源代码中没有看到任何
锁
。我是不是漏掉了什么?我看不出writev()是
原子
的或
线程
安全的。
浏览 2
提问于2017-01-28
得票数 3
1
回答
在共享内存上分配
原子
、
、
我正在尝试分配一个共享内存块上的
原子
(在
linux
上)。
原子
将被访问并同时修改我的多个
线程
。在共享内存上分配它背后的合理性是因为我想持久化这些值,这样如果我的进程重新启动,就可以恢复以前的状态。我知道,如果我在共享内存中使用互斥
锁
,我必须将其初始化为共享的。对
原子
有这样的要求吗?这可行吗?
浏览 24
提问于2018-02-05
得票数 1
回答已采纳
1
回答
关于pthread_cond_wait
原子
性运算的几个问题
、
、
众所周知,pthread_cond_wait的调用方将传递一个锁在函数上的互斥
锁
,然后将调用
线程
原子
地放置在等待条件的
线程
列表中,并解锁互斥
锁
。我想知道为什么这两个步骤: 如果它们不是
原子
性的,那么会发生什么呢?
浏览 0
提问于2018-03-18
得票数 0
3
回答
发布-获取std::mutex的可见性保证是否仅适用于关键部分?
、
、
、
、
我正在努力理解发行版标题下的这些部分-获取under 如果
线程
A中的
原子
存储被标记为memory_order_release,而来自同一个变量的
线程
B中的
原子
负载被标记为memory_order_acquire,则从
线程
A的角度看,发生的所有内存写入(非
原子
和轻松
原子
)都会在
原子
存储之前成为可见的副作用。也就是说,一旦完成
原子
负载,
线程
B就保证看到所有
线程<
浏览 5
提问于2019-09-20
得票数 7
回答已采纳
2
回答
.Net
锁
(上下文)是
原子
的吗?
、
、
、
我确实理解,.net
锁
确保只有单个
线程
执行
锁
范围内的代码行。Class example private int myNumber; { { myNum
浏览 3
提问于2013-11-30
得票数 0
回答已采纳
2
回答
导致
线程
锁定的C++优化
、
、
我做了一个程序,它有以下特点:变量:volatile int8_t* p2;while(p1 + 64 > p2);while(true) { p2 += 10; p2 += 10; p2 += 10;Thread1在某一时刻被锁定。但是,将threa
浏览 39
提问于2017-02-23
得票数 1
回答已采纳
4
回答
C套接字API
线程
安全吗?
、
、
、
、
我同时使用
Linux
和Win32套接字API。在我的程序中,多个
线程
共享一个套接字句柄。特别是,多个
线程
使用共享套接字句柄(即相同的端口)调用send。在这种情况下,我是否必须为
线程
安全设置一个
锁
?编辑:我知道通过套接字发送数据根本不是
原子
操作。当然,为了
线程
安全,我们必须使用互斥
锁
。但是,我想知道system是否可以有自己的内部
锁
。如果是这样的话,我们可以省略设置自己的
锁
。我想知道这样的系统API会有自己的
浏览 2
提问于2010-03-01
得票数 16
2
回答
同步与
线程
安全集合与
原子
包装类与
锁
、
当我在讨论这些主题时,我混淆了同步、
线程
安全集合、
原子
包装类、
锁
。
锁
和同步通过使一段代码
线程
安全来完成相同的工作。那么,为什么我们需要
线程
安全集合或
原子
包装器类呢?因为锁定只允许单个
线程
访问代码,不会让集合或原始类型成为
线程
不安全的。
浏览 2
提问于2015-07-11
得票数 0
回答已采纳
1
回答
互斥
锁
vs
线程
锁
。使用哪一个?
、
、
、
我的主要问题是
线程
锁
对象会创建
原子
锁
吗?它并没有说锁在模块文档中是
原子
的。在pythons的互斥
锁
文档中,它确实说互斥
锁
是
原子
的,但我似乎在某处读到了事实并非如此。我应该使用哪个
锁
。我目前使用python 2.4运行我的脚本
浏览 0
提问于2010-07-24
得票数 8
回答已采纳
2
回答
使用python多
线程
访问共享数据的最佳实践是什么?
、
在python多
线程
中,有一些
原子
类型可以被多
线程
访问,而不需要保护(list、dict等)。还有一些类型需要
锁
保护。我的问题是: 我在哪里可以找到列出所有
原子
类型的官方文档,我可以谷歌一些答案,但它们不是“正式的”和过时的。有些书建议我们应该用
锁
来保护所有的共享数据,因为
原子
类型可能是因为非
原子
的,我们不应该依赖它。这是正确的吗?因为
锁
当然有开销,即使是大程序,这种开销也可以忽略不计吗?
浏览 3
提问于2017-10-27
得票数 3
1
回答
原子
变量在读取-修改-存储操作上也需要锁定吗?
、
、
我知道
原子
变量是无
锁
的!!像std::atomic::fetch_add一样的读取-修改-存储操作也是
原子
执行的?所以我认为它需要锁定,即使是
原子
变量... 我很清楚吗?
浏览 2
提问于2021-04-10
得票数 0
1
回答
用于
原子
性以外的用途的
锁
、
我正在读关于大学多
线程
的文章,在其中一篇文章中,为了表明
原子
和
锁
()/Unlock()操作是不同的,它说“
锁
可以用于
原子
性以外的目的”,但它没有进一步解释。有人能举几个例子说明一下
锁
被用于非
原子
性的情况吗? 谢谢
浏览 0
提问于2014-09-04
得票数 1
回答已采纳
1
回答
在不加锁的情况下检查list_empty
、
、
我想知道
linux
内核链表的
线程
安全性。假设一个
线程
将项添加到列表中,而另一个
线程
读取列表。当然,在修改列表时,我需要获取一个
锁
/互斥
锁
。但是,使用list_empty检查列表是否为空已经需要一个
锁
了吗?AFAIK这阻止了某些编译器的优化,并且对于适当对齐/大小的变量也是
原子
的。因为没有内存屏障,所以我对其他内存访问没有任何排序,但在其他
线程
添加项后,列表最终将不为空。所以我相信
锁
对于list_e
浏览 1
提问于2020-03-17
得票数 1
1
回答
AtomicInteger等
原子
包类是如何工作的
、
我读到过,使用
原子
包类使我们能够进行
线程
安全、
锁
较少的编码。但我不太确定
原子
包的类中的方法是如何在没有使用
锁
的情况下提供
线程
安全性的,或者任何synchronize keyword.Any帮助都应该受到重视。
浏览 3
提问于2012-09-07
得票数 10
回答已采纳
1
回答
原子
操作是如何工作的?
、
、
、
、
翘曲中的
线程
在物理上并行运行,所以如果其中一个
线程
(称为
线程
X)启动
原子
操作,其他
线程
将做什么?等?这是否意味着,当
线程
X被推入
原子
队列时,所有
线程
都在等待,获得访问权限( mutex ),并使用内存来做一些事情,而内存是用这个互斥
锁
保护的,然后再实现互斥
锁
?有没有任何方法可以让其他
线程
进行一些工作,比如读取一些内存,所以
原子
操作将隐藏它的延迟?我是说,15个空闲的
线程</
浏览 1
提问于2013-12-22
得票数 5
回答已采纳
4
回答
在x86-64上分配C程序中被视为
原子
的指针。
、
、
、
、
说-在实践中,你可以假设int是
原子
的。您还可以假设指针类型是
原子
的;这非常方便。这两种假设在GNU C库支持的所有机器和我们所知道的所有POSIX系统上都是正确的。我的问题是,对于使用gcc x86_64标志编译的C程序,指针赋值在m64体系结构上是否可以被认为是
原子
的。操作系统是64位
Linux
,CPU是Intel(R) Xeon(R) CPU D-1548。一个
线程
将设置一个指针,另一个
线程
将访问该指针。只有一个作者
线程
和一个读者
线程
。读取器应该
浏览 11
提问于2020-08-03
得票数 7
回答已采纳
2
回答
如果仍需要互斥
锁
才能正常工作,为什么还要使用std::atomic
、
、
、
、
阅读的文本时,我读到了这句话:如果没有“使用PODs的无
锁
代码”,
原子
还有什么用呢?请参阅同一页面中的以下内容: 请不要回答"“或"”,而是提供有关使用互斥
锁
如何“正确地将”
原子
的修改发布到等待
线程
的信息,例如,像++c
浏览 35
提问于2018-12-05
得票数 -1
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
详解Linux多线程中的互斥锁、读写锁、自旋锁、条件变量、信号量
Java 线程锁技术
Linux 内核原子操作
Python中的线程锁
线程锁技术的使用
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
实时音视频
活动推荐
运营活动
广告
关闭
领券