[問題] C++ creat pthread 記憶體空間問題
http://codepad.org/Ix2KLRMD
我了解是 thread 在 stack 宣告的變數都是每個 thread 各自獨立
只有是 global 變數位在.data 跟 heap 是 process 裡面所有thread 共享
那我疑問是在上面網址程式裡面 main() 函數宣告一個 B class 的 instance b 變數
那這塊instace 應該是屬於 stack 不是 heap(因為我不是new 出來的)
那我之後呼叫 b.start_thread();
產生兩條thread 在 member function add / print 還有 main 函數都用 while(1)
不斷印出data 跟 pid & tid , 看起來 class 的 data變數 是共享的~
那我不懂是 B b; 宣告出來的 b 應該屬於 stack ,
在同Process 底下的不同 thread 怎麼能夠存取在 stack instace ?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.181.152.144
※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1521853445.A.5DA.html
推
03/24 14:20,
7年前
, 1F
03/24 14:20, 1F
→
03/24 14:20,
7年前
, 2F
03/24 14:20, 2F
→
03/24 14:21,
7年前
, 3F
03/24 14:21, 3F
→
03/24 14:22,
7年前
, 4F
03/24 14:22, 4F
→
03/24 14:23,
7年前
, 5F
03/24 14:23, 5F
→
03/24 20:56,
7年前
, 6F
03/24 20:56, 6F
→
03/24 20:56,
7年前
, 7F
03/24 20:56, 7F
→
03/24 20:57,
7年前
, 8F
03/24 20:57, 8F
→
03/24 20:58,
7年前
, 9F
03/24 20:58, 9F
→
03/24 20:59,
7年前
, 10F
03/24 20:59, 10F
※ 編輯: gigigigi (175.181.152.144), 03/24/2018 20:59:32
推
03/25 03:56,
7年前
, 11F
03/25 03:56, 11F
→
03/25 03:56,
7年前
, 12F
03/25 03:56, 12F
→
03/25 03:56,
7年前
, 13F
03/25 03:56, 13F
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章