看板 PHP 關於我們 聯絡資訊
※ 引述《ojinjin (小歐)》之銘言: : 請問有沒有辦法在 php 寫出 multithread 的程式? : google 只有找到在 linux 下的做法 : 謝謝 1. php 本身沒有提供 create thread 的函式或功能. 2. 如果 httpd 是使用 apache 的話, 每一個 request 是來自一個 thread (吧 XD) 3. php 能夠以 pcntl_fork 的方式產生 process. 4. 你也可以透過 execution 的方式, 產生子 process. 你也可以決定母 process (.php) 要不要等子 process 跑完. 要在不同的 php process 間溝通, 你能夠透過: 1) files (包含 ram-drive, CDRom, DB 等) 2) Memory (SHM, global variables, server/env variables) 3) stdin/stdout (using $argv & outputs) 4) session / cookie (under HTML/XHTML) 如果你有某些演算法, 需要多個 thread 來增進效能的話, 建議用其他語言在 server side 寫出程式由 php 呼叫, 另寫一頁面用以取得執行結果, 會比較適合. (尚未完成時顯示執行進度是個好主意) 另外, 你可能會需要 set_time_limit 來改變執行時間, 相關請見 http://tw.php.net/manual/en/function.set-time-limit.php -- 鬼壓床怎麼辦 騎上去啊 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.217.134
accordingto:push~ 10/25 15:06
johnney:正好看到...http://netevil.org/node.php?nid=280 10/25 16:55