具体的には、同期メソッドの実行時間を検出できるメソッドはありますか? 実行時間が長すぎる場合は、率先してこのメソッドを強制終了します。
业精于勤,荒于嬉;行成于思,毁于随。
これは同期方法によって異なりますか?
それがサードパーティのライブラリによって提供されるメソッドである場合、それ自体が stop メソッドを提供するかどうかによって異なります。そうでない場合は、何もできません。
ファイル i/o/delete/create が関係する場合は、それを停止できない場合がありますが、エラーが報告された後に元の状態に戻す逆関数を作成することはできます
このメソッドが自分で作成され、複数のサブ関数がある場合は、関数内でタイマーを定義し、各サブ関数を実行する前に時間が許容値を超えているかどうかを確認できます。これは回避策です。
JS の観点から見ると、同期メソッドを実行すると、アプリケーション全体がその中でブロックされます。このとき、setTimeout によって非同期的にトリガーされたコールバックであっても、同期メソッドの実行が完了した後にのみイベント ループで実行できます。そのため、同期メソッドでは実行できません。自身の実行時間を確認し、自身を強制終了してください。
コンピューターサイエンスの観点から見ると、尋ねられる質問は実際には古典的な停止問題です:
停止問題(英語: halting問題)とは、論理学および数学における計算可能性理論の問題である。平たく言えば、停止問題とは、プログラムが制限時間内に動作を終了できるかどうかを判断する問題です。この問題は、プログラム P が存在するかどうかの判定問題と等価です。入力された任意のプログラム w に対して、w は制限時間内に終了するか、無限ループするかが判断できます。
この問題は NP 困難です。これは、この問題を直接解決できる、許容可能な時間計算量を備えたアルゴリズムが存在しないことを意味します。
しかし、学術的なアルゴリズムを超えて見ると、Web Worker や PM2 などのプロセス管理メカニズムの使用など、エンジニアリングでは多くの回避策がありますが、ここでは説明しません。
それならマルチスレッドするしかない…http://www.w3school.com.cn/ht…でもjsをどうやってkillするのかも謎…結局…直接できます非同期を使用したほうが良いでしょうか||||
リーリー
これは確かに解決策ではないことを思い出しました。別のローエンドの解決策はこれだけかもしれません。 リーリー
Webworker は別のスレッドで計算ロジックを実行でき、onmessage メソッドは実行結果を受け入れることができ、terminate メソッドは Webworker の実行を終了できます
これは同期方法によって異なりますか?
それがサードパーティのライブラリによって提供されるメソッドである場合、それ自体が stop メソッドを提供するかどうかによって異なります。そうでない場合は、何もできません。
ファイル i/o/delete/create が関係する場合は、それを停止できない場合がありますが、エラーが報告された後に元の状態に戻す逆関数を作成することはできます
このメソッドが自分で作成され、複数のサブ関数がある場合は、関数内でタイマーを定義し、各サブ関数を実行する前に時間が許容値を超えているかどうかを確認できます。これは回避策です。
JS の観点から見ると、同期メソッドを実行すると、アプリケーション全体がその中でブロックされます。このとき、setTimeout によって非同期的にトリガーされたコールバックであっても、同期メソッドの実行が完了した後にのみイベント ループで実行できます。そのため、同期メソッドでは実行できません。自身の実行時間を確認し、自身を強制終了してください。
コンピューターサイエンスの観点から見ると、尋ねられる質問は実際には古典的な停止問題です:
この問題は NP 困難です。これは、この問題を直接解決できる、許容可能な時間計算量を備えたアルゴリズムが存在しないことを意味します。
しかし、学術的なアルゴリズムを超えて見ると、Web Worker や PM2 などのプロセス管理メカニズムの使用など、エンジニアリングでは多くの回避策がありますが、ここでは説明しません。
それならマルチスレッドするしかない…
http://www.w3school.com.cn/ht…
でもjsをどうやってkillするのかも謎…
結局…直接できます非同期を使用したほうが良いでしょうか||||
リーリー
これは確かに解決策ではないことを思い出しました。別のローエンドの解決策はこれだけかもしれません。 リーリー
必ずしもすべてのビジネスに適しているわけではなく、ドット自体がプロセスを遅くします。Webworker は別のスレッドで計算ロジックを実行でき、onmessage メソッドは実行結果を受け入れることができ、terminate
リーリーメソッドは Webworker の実行を終了できます