ホームページ > バックエンド開発 > Golang > Go - コンテキスト付きの永久停止ループ

Go - コンテキスト付きの永久停止ループ

WBOY
リリース: 2024-02-06 08:45:07
転載
336 人が閲覧しました

Go - 永远停止带有上下文的循环

質問の内容

次のような、永久に続くはずの非同期プロセスがあります。 リーリー

リクエストがサーバーに到達したときに、この for ループを停止できるようにしたいと考えています。

context.withcancel()

を使用する必要があることはわかっていますが、それを機能させるために統合する方法がわかりません。次の構文を知っています: リーリー しかし

asyncforevertask

は他のchからのシグナルによって実行されるのではなく、永久に実行されます。私は初心者なので、どんな助けでも大歓迎です。

正解

チャネルを使用してこれを行うことができます:
リーリー

キャンセルするには、チャンネルを閉じるだけです。チャネルが閉じられるのは 1 回だけであることを確認する必要があります。そうしないとパニックになってしまいます。

コンテキストを介してこれを行うこともできます:

リーリー ###または:### リーリー

停止するには、返された

cancel

関数を呼び出します:

リーリー

任意のタスクも停止する必要がある場合は、チャネルが閉じているかコンテキストが閉じているかを常に確認してタスクから戻る必要があります。

以上がGo - コンテキスト付きの永久停止ループの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート