Re: thread (執行緒) definition??
※ 引述《cipherman (雨云無日晴)》之銘言:
: ※ 引述《tcmbug (bug)》之銘言:
: : 初次接觸到 multithread 的paper,但是對於裡面提到的thread
: : 不是很了解,之前得到一位學長的答案是:"一個process正在被處理的一段code"
: : 想請問有沒有更明確的定義,比如說,一個程式如何區分出thread??
: Thread和Process的差別可以用個具體的譬喻來說...
: 就是像pcman和firefox那樣...每個分頁都是一個thread...
: 若是要開一個新頁就要另外開一個新的視窗就是新開一個process...
: 所以說,thread和process主要的差別在要執行的動作一樣...
: thread則不再另外allocate一個space放要執行的code....
這樣子的說法其實會有爭議,
因為 copy on write的技術 (我猜應該許多作業系統都有做了) ,
一個 process進行 fork(2)的時候,
當下 code (以及其他大部份的東西) 並不會被弄成兩份,
而 code space 在大部份的情況下又是 read only的,
所以理論上不管你 fork 幾次都還是會只有一份.
我倒比較好奇的是,
如果我故意跑兩隻一樣的程式,
而不是先跑一隻起來再讓他 fork,
醬子在記憶體中, code會變兩份嗎? 或是只有一份?
個人猜測應該是前者比較合理,
後者的話似乎有點實作上的困難 @@
要怎麼知道新跑起來的這個程式是不是和其中一個已經在跑的程式一樣呢? :Q
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.90.74
推
01/24 01:29, , 1F
01/24 01:29, 1F
推
01/24 02:16, , 2F
01/24 02:16, 2F
→
01/24 02:17, , 3F
01/24 02:17, 3F
→
01/24 02:17, , 4F
01/24 02:17, 4F
→
01/24 02:19, , 5F
01/24 02:19, 5F
→
01/24 02:19, , 6F
01/24 02:19, 6F
→
01/24 02:20, , 7F
01/24 02:20, 7F
推
01/24 07:58, , 8F
01/24 07:58, 8F
→
01/24 07:58, , 9F
01/24 07:58, 9F
推
01/24 19:39, , 10F
01/24 19:39, 10F
→
01/24 19:39, , 11F
01/24 19:39, 11F
→
01/24 19:40, , 12F
01/24 19:40, 12F
推
01/24 22:16, , 13F
01/24 22:16, 13F
推
01/24 22:27, , 14F
01/24 22:27, 14F
→
01/24 22:29, , 15F
01/24 22:29, 15F
→
01/24 22:30, , 16F
01/24 22:30, 16F
推
01/25 02:24, , 17F
01/25 02:24, 17F
推
01/25 12:11, , 18F
01/25 12:11, 18F
推
01/25 12:40, , 19F
01/25 12:40, 19F
討論串 (同標題文章)
CSSE 近期熱門文章
PTT數位生活區 即時熱門文章