7 當一個 process 包含多個 threads 時,下列資料何者不是多個 thread 共享?①register values ②global variables ③stack memory ④heap memory
(A)①②
(B)①③
(C)③④
(D)②④

答案:登入後查看
統計: A(43), B(106), C(84), D(45), E(0) #3312360

詳解 (共 2 筆)

#6210202
項目 共享 register valu...
(共 254 字,隱藏中)
前往觀看
13
0
#6252275

以下是為什麼 register values 和 stack memory 不是多個 thread 共享的資源:

  • ① register values: 暫存器是 CPU 中的一小塊高速記憶體,用於儲存 thread 目前正在使用的資料。每個 thread 都有自己獨立的暫存器組,以確保它們可以獨立執行,互不干擾。

  • ③ stack memory: 堆疊記憶體是用於儲存區域變數、函數參數和返回地址的記憶體空間。每個 thread 都有自己的堆疊,以避免 thread 之間的函數呼叫和區域變數互相覆蓋。

而 global variables 和 heap memory 是共享的資源:

  • ② global variables: 全域變數是在程式中任何地方都可以存取的變數。所有 thread 都可以在任何時候讀取或修改全域變數,因此它們是共享的。

  • ④ heap memory: 堆積記憶體是用於動態分配的記憶體。process 中的所有 threads 都可以從中分配和釋放記憶體,因此也是共享的。

4
0