<?php
class MyThread extends Thread {
public function __construct($threadId) {
$this->threadId = $threadId;
}
public function run() {
if ($this->threadId == 0) {
// 模拟任务1
for ($i = 0; $i < 5; $i++) {
echo "Thread 0: Iteration $i\n";
sleep(1); // 模拟耗时操作
}
} else {
// 模拟任务2
for ($i = 0; $i < 5; $i++) {
echo "Thread 1: Iteration $i\n";
sleep(1); // 模拟耗时操作
}
}
}
}
// 创建线程实例
$thread1 = new MyThread(0);
$thread2 = new MyThread(1);
// 启动线程
$thread1->start();
$thread2->start();
// 等待线程结束
$thread1->join();
$thread2->join();
echo "All threads have finished.\n";
?>
Thread
:我们创建了一个名为 MyThread
的类,它继承自 PHP 的 Thread
类。这样我们可以定义多线程的行为。__construct
方法中,我们传递一个线程 ID,用于区分不同的线程。run
方法:这是每个线程的执行逻辑。在这个例子中,我们根据线程 ID 来执行不同的任务,并使用 sleep
函数模拟耗时操作。start()
方法来启动线程。join()
方法确保主线程等待子线程完成后再继续执行。这个示例展示了如何在 PHP 中使用多线程来并发执行多个任务。
上一篇:php取整
下一篇:php 字符串分割
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站