[請益] 有關FORK的問題

看板PHP作者 (徵乾女兒)時間16年前 (2007/10/30 23:48), 編輯推噓10(10016)
留言26則, 5人參與, 最新討論串1/1
想請教版上的大師 fork 的運行方式? 它跟thread 有什麼不同? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.126.172.96

10/30 23:55, , 1F
這這這...這到programming去問吧XD
10/30 23:55, 1F

10/30 23:56, , 2F
印象中兩個差不多 只是層次不同
10/30 23:56, 2F

10/30 23:57, , 3F
唔 我是說process和thread 不過各OS實做可能不同
10/30 23:57, 3F

10/30 23:57, , 4F
一個process可以有多個thread
10/30 23:57, 4F

10/31 00:03, , 5F
php 的fork 只能用在unix 系統 windows 系統好像不支援
10/31 00:03, 5F

10/31 00:03, , 6F
windows沒有fork...
10/31 00:03, 6F

10/31 00:04, , 7F
你說的fork是指pcntl_fork?
10/31 00:04, 7F

10/31 00:09, , 8F
...應該是吧 難道不一樣嗎?
10/31 00:09, 8F

10/31 00:12, , 9F
只是問一下...一時想不起來PHP哪來fork()XD
10/31 00:12, 9F

10/31 00:47, , 10F
同一task內的threads共享部分資源
10/31 00:47, 10F

10/31 00:59, , 11F
樓上的大師...這個道理我懂...但沒辦法理解...
10/31 00:59, 11F

10/31 01:00, , 12F
如果我有一千個值 要同時列出 要用thread 還是 fork?
10/31 01:00, 12F

10/31 01:16, , 13F
都可以吧 只是不是每個系統都有thread
10/31 01:16, 13F

10/31 01:16, , 14F
多工系統都有process倒是比較可以確定的
10/31 01:16, 14F

10/31 01:17, , 15F
thread算是次級的process 非必要 但可幫助資源管理
10/31 01:17, 15F

10/31 01:17, , 16F
1000個值同時印出.用thread就好.不需要開多個process.
10/31 01:17, 16F

10/31 01:18, , 17F
process比thread耗資源..當初就是針對這點才發展出
10/31 01:18, 17F

10/31 01:19, , 18F
thread的概念..但我記得php沒thread可開吧@@"
10/31 01:19, 18F

10/31 01:20, , 19F
應該說沒直接函式可用,參考258討論串..
10/31 01:20, 19F

10/31 02:44, , 20F
感謝 大概有懂到 我只是想了解什麼情況下該用THREAD fork
10/31 02:44, 20F

10/31 17:01, , 21F
fork會產生新的process~thread不會產生新的process~thread
10/31 17:01, 21F

10/31 17:01, , 22F
會與原process共用記憶體空間和變數~~
10/31 17:01, 22F

10/31 17:03, , 23F
最近在上embedded~有講到這些~所以有了解到^^
10/31 17:03, 23F

10/31 17:04, , 24F
如樓上有人說的~要印1000個~用thread就好了~用fork太浪費
10/31 17:04, 24F

10/31 17:05, , 25F
如果你的父子process間的參數要共用的話~就用thread~否則
10/31 17:05, 25F

10/31 17:05, , 26F
你用fork...因為fork的變數是不會共用的~~以上是我的了解!
10/31 17:05, 26F
文章代碼(AID): #179r9Lzl (PHP)