Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php 多线程

作者:故事只剩听说   发布日期:2025-02-24   浏览:125

<?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";

?>

解释说明:

  1. 类继承 Thread:我们创建了一个名为 MyThread 的类,它继承自 PHP 的 Thread 类。这样我们可以定义多线程的行为。
  2. 构造函数:在 __construct 方法中,我们传递一个线程 ID,用于区分不同的线程。
  3. run 方法:这是每个线程的执行逻辑。在这个例子中,我们根据线程 ID 来执行不同的任务,并使用 sleep 函数模拟耗时操作。
  4. 启动线程:通过调用 start() 方法来启动线程。
  5. 等待线程结束:使用 join() 方法确保主线程等待子线程完成后再继续执行。

这个示例展示了如何在 PHP 中使用多线程来并发执行多个任务。

上一篇:php取整

下一篇:php 字符串分割

大家都在看

php session用法

phpisset函数

php后端

php爬虫框架

php读取csv文件

php 三元表达式

php文件加密

php 拆分字符串

php pcntl

php ||

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站