標籤:new t 子線程 div manual run start 官方 nts pthread
class test extends Thread { public $arg; public function __construct($arg){ $this->arg = $arg; } public function run(){ if($this->arg){ sleep(1); echo "Hello " . $this->arg .‘:‘. date("Y-m-d H:i:s") . "<br>"; sleep(1); // file_put_contents("./log.txt", date("Y-m-d H:i:s") . "I Am SonPthread" . "\r\n", FILE_APPEND); } }}$thread = new test("World");echo "Start Pthread:" . date("Y-m-d H:i:s") . "<br>";sleep(1);$thread->start();/** Hello World:2017-07-20 11:22:29* Start Pthread:2017-07-20 11:22:27* main thread:2017-07-20 11:22:28*/if($thread->start()){ $thread->join();}/** Hello World:2017-07-20 11:23:23* Start Pthread:2017-07-20 11:23:21* main thread:2017-07-20 11:23:24*/echo "main thread:".date("Y-m-d H:i:s") . "<br>";;file_put_contents("./main.txt", date("Y-m-d H:i:s") . ":Main Thread!" . "\r\n", FILE_APPEND);echo "<br>";
join方法的作用是讓當前主線程等待該線程執行完畢
確認被join的線程執行結束,和線程執行順序沒關係。
也就是當主線程需要子線程的處理結果,主線程需要等待子線程執行完畢
拿到子線程的結果,然後處理後續代碼。
官方文檔連結地址:http://www.php.net/manual/en/book.pthreads.php
PHP pthread多線程