查詢

Swoole\Coroutine::resume()函式—用法及示例

「 恢復被掛起的協程,使其繼續執行 」


函式名:Swoole\Coroutine::resume()

適用版本:Swoole 4.0.0以上版本

用法:該函式用於恢復被掛起的協程,使其繼續執行。

示例:

<?php
use Swoole\Coroutine;

// 建立一個協程
Coroutine::create(function () {
    echo "Coroutine 1 start\n";
    Coroutine::suspend(); // 掛起當前協程
    echo "Coroutine 1 resume\n";
    Coroutine::suspend(); // 再次掛起當前協程
    echo "Coroutine 1 end\n";
});

// 建立第二個協程
Coroutine::create(function () {
    echo "Coroutine 2 start\n";
    Coroutine::suspend(); // 掛起當前協程
    echo "Coroutine 2 resume\n";
    Coroutine::suspend(); // 再次掛起當前協程
    echo "Coroutine 2 end\n";
});

// 恢復第一個協程
Coroutine::resume(1); // 輸出 "Coroutine 1 start"
Coroutine::resume(1); // 輸出 "Coroutine 1 resume"
Coroutine::resume(1); // 輸出 "Coroutine 1 end"

// 恢復第二個協程
Coroutine::resume(2); // 輸出 "Coroutine 2 start"
Coroutine::resume(2); // 輸出 "Coroutine 2 resume"
Coroutine::resume(2); // 輸出 "Coroutine 2 end"
?>

在上述示例中,我們建立了兩個協程,每個協程都會輸出一些資訊,並在某個點被掛起。透過呼叫Coroutine::resume()函式,我們可以恢復被掛起的協程,使其繼續執行。在示例中,我們分別恢復了第一個和第二個協程,並觀察了每個協程的輸出結果。

補充糾錯
熱門PHP函式
分享連結