⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

PHP 纤维 Fiber

探索 PHP 8.1 的 Fiber 实现,理解协程并发执行机制。 · 难度:入门 · +15XP

什么是 Fiber?

Fiber 是 PHP 8.1 引入的轻量级协程,允许在单线程中实现非阻塞并发执行,适合 I/O 密集型任务。

基本概念

Fiber 可以暂停执行(suspend),让出控制权,随后从暂停点恢复(resume)。

代码示例

$fiber = new Fiber(function(): void {
    echo "Fiber 开始
";
    Fiber::suspend();
    echo "Fiber 恢复
";
});
echo "主程序开始
";
$fiber->start();
echo "主程序继续
";
$fiber->resume();
echo "主程序结束
";
// 输出:主程序开始->Fiber开始->主程序继续->Fiber恢复->主程序结束

传递数据

$fiber = new Fiber(function(int $a, int $b): int {
    $sum = $a + $b;
    $multiplier = Fiber::suspend($sum);
    return $sum * $multiplier;
});
$result = $fiber->start(3, 4);
echo $result; // 7
$result = $fiber->resume(2);
echo $result; // 14
方法作用
start()启动 Fiber
suspend()暂停当前 Fiber
resume()恢复 Fiber

练习提示

创建一个 Fiber,模拟两个异步任务,在任务之间切换。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 90 篇
0 完成
🔥 0