查詢

EvSignal::createStopped()函式—用法及示例

「 建立一個已停止的 EvSignal 事件監聽器物件 」


函式:EvSignal::createStopped()

適用版本:EvExtension >= 1.0

用法: EvSignal::createStopped() 函式用於建立一個已停止的 EvSignal 事件監聽器物件。

示例:

<?php
$loop = new EvLoop();

$signal = EvSignal::createStopped(SIGINT, function ($signal) use ($loop) {
    echo "Received SIGINT signal\n";

    // 停止事件迴圈
    $loop->stop();
});

// 啟動事件監聽器
$signal->start();

// 停止事件監聽器
$signal->stop();

// 開始事件迴圈
$loop->run();

echo "Event loop stopped\n";
?>

在上面的示例中,建立了一個已停止的 EvSignal 事件監聽器物件,用於監聽 SIGINT 訊號。當接收到 SIGINT 訊號時,會在回撥函式內部列印一條訊息,並透過呼叫 $loop->stop() 停止事件迴圈。最後,列印出 "Event loop stopped" 訊息表示事件迴圈已停止。

請注意,雖然事件監聽器被建立為已停止狀態,但我們仍然需要手動呼叫 $signal->start() 方法來啟動事件監聽器。如果沒有呼叫 $signal->start() 方法,事件監聽器將不會起作用。

補充糾錯
上一個函式: EvPrepare::__construct()函式
下一個函式: EvSignal::set()函式
熱門PHP函式
分享連結