2012-11-08 111 views
0

這是我第一次使用多線程概念的應用程序。PHP同時運行多個函數

文件夾包含超過10個平面文件,每個平面文件是4 GB。

我的腳本幾乎花了1個小時換1個平面文件,所以如何實現並行處理,並在多個線程中執行所有文件。

我如何從文件夾中讀取文件? 只使用while循環,同時調用SP,平面文件是SP的輸入。

我想要的是:一次執行所有平面文件。

+0

使用多個腳本? – Mob

+1

這已經在這裏描述http://stackoverflow.com/questions/70855/how-can-one-use-multi-threading-in-php-applications – Greeso

+0

如果一個文件需要一個小時來處理,並且你有十個那些,你正在做一些嚴重錯誤的事情,應該重新考慮你的方法,因爲世界上所有的線程都不會幫你,PHP只有一個。 – adeneo

回答

0

不知道你是否有過任何前端部分爲這個應用程序的控制,但是你可以使用AJAX:

  • 修改您的腳本,以便它接受GET或POST參數,以確定要處理的平面文件(如果需要)
  • 構建一個快速JS腳本(使用jQuery或等效腳本)並運行儘可能多的asynchr onous(默認行爲)根據需要調用AJAX,通過單擊按鈕或任何事物觸發。

你可能需要玩AJAX超時(我猜PHP和你的web服務器都很好,因爲你可以做第一個小時的執行)。

+0

我應該如何得到第一個線程的狀態。 – DarshithCan

+0

按照身份,你的意思是說是否完成,或者進度(如百分比)? – neemzy