[問題] bool變數一寫多讀需要鎖嗎
開發平台(Platform): (Ex: Win10, Linux, ...)
Linux 64 位元指令集
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
gcc
問題(Question):
bool型別之類的簡單變數
Single Store & Multiple Load本身有組合語言層級的原子性保證
請問~~
所以有做好memory barrier的前提下
一寫多讀bool是不是完全不用鎖?
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
Writer thread:
do_something();
smp_wmb();
global_flag = true;
Multiple Reader threads:
if (global_flag) {
smp_rmb()
do_other_things()
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.27.23.35 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1770815053.A.A5A.html
※ 編輯: SFGEX (114.27.23.35 臺灣), 02/11/2026 21:20:20
推
02/12 00:10,
1天前
, 1F
02/12 00:10, 1F
→
02/12 00:10,
1天前
, 2F
02/12 00:10, 2F
推
02/12 00:19,
1天前
, 3F
02/12 00:19, 3F
→
02/12 00:19,
1天前
, 4F
02/12 00:19, 4F
→
02/12 00:20,
1天前
, 5F
02/12 00:20, 5F
→
02/12 00:21,
1天前
, 6F
02/12 00:21, 6F
→
02/12 00:21,
1天前
, 7F
02/12 00:21, 7F
→
02/12 00:21,
1天前
, 8F
02/12 00:21, 8F
→
02/12 00:25,
1天前
, 9F
02/12 00:25, 9F
→
02/12 00:25,
1天前
, 10F
02/12 00:25, 10F
→
02/12 01:50,
1天前
, 11F
02/12 01:50, 11F
推
02/12 07:19,
20小時前
, 12F
02/12 07:19, 12F
→
02/12 14:40,
13小時前
, 13F
02/12 14:40, 13F
→
02/12 14:40,
13小時前
, 14F
02/12 14:40, 14F
→
02/12 14:47,
13小時前
, 15F
02/12 14:47, 15F
→
02/12 14:47,
13小時前
, 16F
02/12 14:47, 16F
→
02/12 14:47,
13小時前
, 17F
02/12 14:47, 17F
→
02/12 14:48,
13小時前
, 18F
02/12 14:48, 18F
→
02/12 14:49,
13小時前
, 19F
02/12 14:49, 19F
※ SFGEX:轉錄至看板 Linux 02/12 14:49
※ 編輯: SFGEX (223.136.48.119 臺灣), 02/12/2026 14:58:20
推
02/12 18:48,
9小時前
, 20F
02/12 18:48, 20F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
11
12