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
統計: A(43), B(106), C(84), D(45), E(0) #3312360
詳解 (共 2 筆)
#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