gpt4 book ai didi

multithreading - 在不计算先前数据的情况下更改变量是否安全?

转载 作者:行者123 更新时间:2023-12-03 12:53:06 25 4
gpt4 key购买 nike

我听说执行“global_variable + = dividual_thread_data”是不安全的;例如[无锁]。

但是,如果每个线程中只有“global_variable = personal_thread_data”,那么线程安全吗?

最佳答案

如果不考虑变量类型,则它不是线程安全的。您应该使用互斥锁/关键部分或原子变量。

有时编写一个简单的代码来分配几种类型的变量并对其进行反汇编以查看如何分配是有用的。

另外,对于cas-supporting architecture,您可以使用汇编代码来模拟原子变量。

(另一个提示:如果在线程中使用该变量,则应将其声明为volatile,以防止编译器进行优化。)

关于multithreading - 在不计算先前数据的情况下更改变量是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4353459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com