c - 在线程中设置全局变量

标签 c mutex global

我需要一个字符串作为全局变量。多个线程有可能设置全局变量。我应该为此使用互斥锁吗?或者操作系统会处理此类操作。
选择互斥体会影响应用程序的性能。

我不关心 Action 发生的顺序。我害怕数据损坏。
有人可以让我知道这件事。

最佳答案

听起来你理解所有的担忧。如果全局变量可能损坏,您肯定需要将其锁定在互斥锁中。这将影响性能,因为根据定义,这部分现在将是同步的。话虽如此,您将希望根据需要锁定代码的最小部分,以最大限度地减少调用同步代码的时间。

关于c - 在线程中设置全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5977579/

相关文章:

c - 程序编译有错误

c - 在 C 中,是否有一种跨平台的方式来存储变量可能包含的内容以便快速重新加载其内容?

c - 与 Pthread 共享有界缓冲区和互斥锁忙等待

recursion - Go 中的递归临界区

memory - CUDA:纹理内存的访问时间是否类似于合并的全局内存?

c - 函数声明中的函数指针是否有C语法

c - Linux 上的一个简单的 C 程序

java - 从 Java 到 C++ 的线程

javascript - 我无法在 jQuery 事件函数之外访问 array/obj

c# - 全局 Hook 键盘记录器问题