查詢

parallel\Future::cancel()函式—用法及示例

「 取消一個正在執行的並行任務 (parallel task) 」


函式名稱: parallel\Future::cancel()

適用版本: PHP 7.2.0 及以上版本

函式用法:

parallel\Future::cancel() 方法用於取消一個正在執行的並行任務 (parallel task)。當任務被取消後,它將不會繼續執行,並且返回一個布林值表示取消是否成功。

語法:

public bool parallel\Future::cancel()

引數: 該方法沒有接受任何引數。

返回值:

  • 如果任務成功取消,則返回 true
  • 如果任務已經完成或已經被取消,則返回 false

示例:

<?php

$executor = new parallel\Runtime();

$future = $executor->run(function(){
    // 執行一些耗時的操作
    sleep(5);
    return "任務已完成";
});

// 稍等一會兒,然後取消任務
sleep(2);
$result = $future->cancel();

if ($result) {
    echo "任務已成功取消";
} else {
    echo "任務無法取消";
}

在上面的示例中,我們使用 parallel\Runtime 類建立了一個並行執行器,並使用 run() 方法啟動一個並行任務。然後,我們等待2秒鐘後取消了任務,並根據 cancel() 方法的返回值列印出相應的訊息。

請注意,parallel\Future::cancel() 方法只能取消正在執行的任務。如果任務已經完成或已經被取消,呼叫該方法將返回 false

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