作者arzbar (徵乾女兒)
看板PHP
標題[請益] 有關FORK的問題
時間Tue Oct 30 23:48:34 2007
想請教版上的大師
fork 的運行方式?
它跟thread 有什麼不同?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.126.172.96
1F:推 buganini:這這這...這到programming去問吧XD 10/30 23:55
2F:→ buganini:印象中兩個差不多 只是層次不同 10/30 23:56
3F:→ buganini:唔 我是說process和thread 不過各OS實做可能不同 10/30 23:57
4F:→ buganini:一個process可以有多個thread 10/30 23:57
5F:推 arzbar:php 的fork 只能用在unix 系統 windows 系統好像不支援 10/31 00:03
6F:推 buganini:windows沒有fork... 10/31 00:03
7F:→ buganini:你說的fork是指pcntl_fork? 10/31 00:04
8F:推 arzbar:...應該是吧 難道不一樣嗎? 10/31 00:09
9F:推 buganini:只是問一下...一時想不起來PHP哪來fork()XD 10/31 00:12
10F:推 cttlee:同一task內的threads共享部分資源 10/31 00:47
11F:推 arzbar:樓上的大師...這個道理我懂...但沒辦法理解... 10/31 00:59
12F:→ arzbar:如果我有一千個值 要同時列出 要用thread 還是 fork? 10/31 01:00
13F:推 buganini:都可以吧 只是不是每個系統都有thread 10/31 01:16
14F:→ buganini:多工系統都有process倒是比較可以確定的 10/31 01:16
15F:→ buganini:thread算是次級的process 非必要 但可幫助資源管理 10/31 01:17
16F:推 shingoliang:1000個值同時印出.用thread就好.不需要開多個process. 10/31 01:17
17F:→ shingoliang:process比thread耗資源..當初就是針對這點才發展出 10/31 01:18
18F:→ shingoliang:thread的概念..但我記得php沒thread可開吧@@" 10/31 01:19
19F:→ shingoliang:應該說沒直接函式可用,參考258討論串.. 10/31 01:20
20F:推 arzbar:感謝 大概有懂到 我只是想了解什麼情況下該用THREAD fork 10/31 02:44
21F:→ opoepev:fork會產生新的process~thread不會產生新的process~thread 10/31 17:01
22F:→ opoepev:會與原process共用記憶體空間和變數~~ 10/31 17:01
23F:→ opoepev:最近在上embedded~有講到這些~所以有了解到^^ 10/31 17:03
24F:→ opoepev:如樓上有人說的~要印1000個~用thread就好了~用fork太浪費 10/31 17:04
25F:→ opoepev:如果你的父子process間的參數要共用的話~就用thread~否則 10/31 17:05
26F:→ opoepev:你用fork...因為fork的變數是不會共用的~~以上是我的了解! 10/31 17:05