我有多个线程读取同一个 int 变量。 一个线程正在写入值。
我不关心竞争条件。
我唯一关心的是同时写入和读取 int 值是否内存安全?
并且不会导致任何应用程序崩溃。
最佳答案
是的,应该没问题。我可以设想崩溃的唯一方法是,如果其中一个线程取消分配支持该整数的内存。为了获得最佳结果,我还要确保整数在 sizeof(int)
边界对齐。 (如果没有这种对齐方式,有些 CPU 根本无法访问整数。其他 CPU 为未对齐访问提供较弱的原子性保证。)
关于c - 从多个线程读取 int 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7586939/