<?php
// 繼承 Thread 的類具有建立執行緒的能力
class Request extends Thread
{
public $str;
public $i;
public function __construct($i)
{
$this->i = $i;
}
public function run()//覆蓋重寫run 方法 執行執行緒任務
{
if ($this->i == 3) {//如果執行緒是第三個的時候
sleep(5);//延遲5秒
} else {
sleep(1);
}
$this->str = $this->i;
}
}
$arr = [];
//同時建立3個執行緒
for ($i = 0; $i <= 3; $i++) {
$request = new Request($i);
$arr[$i] = $request;
// 建立新執行緒,隨後執行緒會執行 run 方法
if (! $request->start()) {
die("Start thread failed\n");
}
echo "Thread({$i}) started\n";
}
for ($i = 0; $i <= 3; $i++) {
// join 是阻塞的,所以指令碼執行時間取決於耗時最長的執行緒
if (! $arr[$i]->join()) {
die("Join failed\n");
}
echo $arr[$i]->str . PHP_EOL;
}
畫江湖之 PHP 多執行緒開發 【建立一個新的執行緒】
相關文章
- 畫江湖之 PHP 多執行緒開發 [建立一個新的執行緒]PHP執行緒
- 畫江湖之 PHP 多執行緒開發 【執行緒安全 互斥鎖】PHP執行緒
- 畫江湖之 PHP 多執行緒開發 [執行緒安全 互斥鎖]PHP執行緒
- 畫江湖之 PHP 多執行緒開發 【利用多執行緒 序列任務變並行處理 從而減少序列執行時間】PHP執行緒並行
- 多執行緒------執行緒與程式/執行緒排程/建立執行緒執行緒
- 畫江湖之 PHP 多程式開發 [建立一個新的程式]PHP
- 畫江湖之 PHP 多程式開發 【建立一個新的程式】PHP
- 多執行緒系列之 執行緒安全執行緒
- iOS 多執行緒之執行緒安全iOS執行緒
- Java多執行緒之執行緒中止Java執行緒
- Android多執行緒之執行緒池Android執行緒
- 併發與多執行緒之執行緒安全篇執行緒
- java多執行緒之執行緒的基本使用Java執行緒
- C#多執行緒開發-執行緒同步 02C#執行緒
- C#多執行緒開發-執行緒池03C#執行緒
- Java多執行緒學習(1)建立執行緒與執行緒的生命週期Java執行緒
- 多執行緒與高併發(一)多執行緒入門執行緒
- 多執行緒--執行緒管理執行緒
- 執行緒與多執行緒執行緒
- 多執行緒【執行緒池】執行緒
- C#多執行緒開發-執行緒基礎 01C#執行緒
- 【java】【多執行緒】建立執行緒的兩種常用方式(2)Java執行緒
- 多執行緒和多執行緒同步執行緒
- Java併發 之 執行緒池系列 (1) 讓多執行緒不再坑爹的執行緒池Java執行緒
- 多執行緒學習一(多執行緒基礎)執行緒
- Java多執行緒(一)多執行緒入門篇Java執行緒
- 執行緒池建立執行緒的過程執行緒
- iOS多執行緒開發—GCD (一)iOS執行緒GC
- Java多執行緒-執行緒中止Java執行緒
- 多執行緒之初識執行緒執行緒
- 多執行緒併發篇——如何停止執行緒執行緒
- 多執行緒(一)執行緒
- PHP 的多程式與執行緒PHP執行緒
- Java多執行緒之守護執行緒實戰Java執行緒
- 多執行緒之間通訊及執行緒池執行緒
- Java多執行緒之執行緒同步【synchronized、Lock、volatitle】Java執行緒synchronized
- Java建立多執行緒的一種方法Java執行緒
- 使用委託開啟多執行緒(多執行緒深入)執行緒