ホームページ > バックエンド開発 > Golang > この問題を修正する方法: パニック: 同期: 待機グループ カウンターが負です

この問題を修正する方法: パニック: 同期: 待機グループ カウンターが負です

PHPz
リリース: 2024-02-05 21:42:09
転載
1218 人が閲覧しました

如何解决此问题:恐慌:同步:负数 WaitGroup 计数器

#質問内容

何度も実行しているとこの問題に遭遇することがあります。これがカウンターに関連していることは知っています。 sync.waitgroup の doned() メソッドが add() メソッドの呼び出しよりも多く呼び出された場合、このエラーがスローされます。

この問題を解決するにはどうすればよいですか?

私のコードはサイズ 4 のバッチを作成し、各バッチで何らかの処理を実行しますが、このパニックを解決するのに苦労しています。

リーリー

バッチ プログラムを作成するための基本コード:

リーリー リーリー

初期の設計は少し複雑です。この基本設計を拡張してみます。


正解


このコードによると:

リーリー

workerwg.done()

はループの外に移動する必要があると思います: リーリー ただし、デモでは

batch

は閉じられていません。したがって、事実上、Goroutine はプログラムが終了するまで永久に実行されます。 他にご質問があるかわかりません。デザインが複雑すぎます。複雑なコードは理解するのが難しく、エラーが発生しやすくなります。再設計することを検討してください。

以上がこの問題を修正する方法: パニック: 同期: 待機グループ カウンターが負ですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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