查詢

EventBase::stop()函式—用法及示例

「 立即停止事件迴圈的執行 」


函式名稱:EventBase::stop()

適用版本:EventBase::stop() 函式可用於 PHP 5 >= 5.4.0 版本。

用法:EventBase::stop() 方法用於立即停止事件迴圈的執行。當呼叫該方法時,事件迴圈將立即退出,並停止處理任何待定事件。

示例:

// 建立EventBase物件
$eventBase = new EventBase();

// 建立Event物件
$event = new Event($eventBase, SIGINT, Event::SIGNAL | Event::PERSIST, function () use (&$eventBase) {
    echo "SIGINT received. Stopping event loop." . PHP_EOL;
    $eventBase->stop(); // 停止事件迴圈
});

// 將事件新增到事件迴圈中
$event->add();

// 開始事件迴圈
echo "Starting event loop." . PHP_EOL;
$eventBase->loop();

上述示例中,我們首先建立了一個 EventBase 物件作為事件迴圈的基礎。然後,我們建立了一個 Event 物件,用於監聽 SIGINT 訊號。在回撥函式中列印訊息,並呼叫了 EventBase::stop() 方法來停止事件迴圈的執行。

最後,我們將事件新增到事件迴圈中,並呼叫了 EventBase 的 loop() 方法來啟動事件迴圈。當 SIGINT 訊號被觸發時,回撥函式中的訊息會被列印出來,並且事件迴圈會立即停止執行。

需要注意的是,EventBase::stop() 方法只能在事件迴圈的執行期間呼叫。

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