我建立一個大型的PHP框架。現在我們試圖利用每個腳本中的所有可能的核心。mutithreading在PHP /阿帕奇
如何在多個內核上運行一個腳本。例如,假設我在一個php文件中有兩個函數,它們可以進行大量處理。我如何在兩個不同的處理器上同時運行這兩個處理器,然後將結果返回給腳本並繼續執行其餘的處理。
是否有可用於創建Web應用程序像這樣的任何其他腳本...我試圖尋找上線,但只有我已經找到解決方案是在桌面應用
我建立一個大型的PHP框架。現在我們試圖利用每個腳本中的所有可能的核心。mutithreading在PHP /阿帕奇
如何在多個內核上運行一個腳本。例如,假設我在一個php文件中有兩個函數,它們可以進行大量處理。我如何在兩個不同的處理器上同時運行這兩個處理器,然後將結果返回給腳本並繼續執行其餘的處理。
是否有可用於創建Web應用程序像這樣的任何其他腳本...我試圖尋找上線,但只有我已經找到解決方案是在桌面應用
你想看看PCNTL。請記住,它是專爲CGI-MOD但可以用於Apache的。
用法示例:
<?php
// Create the MySQL connection
$db = mysql_connect($server, $username, $password);
$pid = pcntl_fork();
if ($pid == -1) {
// Fork failed
exit(1);
} else if ($pid) {
// We are the parent
// Can no longer use $db because it will be closed by the child
// Instead, make a new MySQL connection for ourselves to work with
$db = mysql_connect($server, $username, $password, true);
} else {
// We are the child
// Do something with the inherited connection here
// It will get closed upon exit
exit(0);
?>
這將是偉大的孩子的過程,但我想運行兩種功能同時... – Anush
好分叉使得該過程的克隆,這樣你就可以用它做任何你需要的。無論pcntl_fork()是你想要的,PCNTL都是必需的。這個例子只是一個例子:) – AlienWebguy
但是不會讓一個克隆變得昂貴,而且你會如何確定哪個函數是哪個。 – Anush
在PHP中你不能使用線程。這個舊帖子可能是有用的,但:
,所以我想你需要通過任何的IPC選項叉和同步,所以這也較早的帖子可能是幫助:How to IPC between PHP clients and a C Daemon Server?
如果你有可能已經利用核許多客戶。你可以*可能*收益是一個更快的反應......它值得嗎?什麼'mpstat'顯示? –