関数の実行がC#で特定の時間を超えた場合、関数をリロードするにはどうすればよいですか?

nJoooy

サイズnの数独をランダムに生成しようとしています。

したがって、私は関数を書きました: generateSudoku(int blocksize)

しかし、この世代は完全にランダムであるために失敗することがあり、不可能な数独を生成することがあるかもしれませんこれらのイベントを防ぐために、いくつかのチェック機能を作成しました。

偽の2x2数独を生成する可能性50%あると思います失敗すると、関数は無期限に実行されます。

そこで、C#に、特定の関数が特定の実行時間を超えたことを検出する関数があるかどうか、および関数をリロードできる関数があるかどうかを知りたいと思います

たとえば、コードに次のようなものを含めたいと思います。

while ( generateSudoku(int blocksize).Time() > threshold ){
      generateSudoku(int blocksize).Reload()
}

これを書くのは絶対に正しくないことは知っていますが、それをよりよく説明する方法がわかりません。

手伝って頂けますか ?手がかりや提案はありますか?

前もって感謝します !

Athanasios Kataras

これは、スレッドまたは任意の種類の非同期ロジックを使用して実現できます。事実上、あなたが探しているのは、実行を監視するためのコードと、作業を行うための別のコードです。

関数を変更できる場合は、次のように非同期を使用します:https//docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/cancel-async-tasks-after-a-period -時間の

private async void MonitorCalculation(object sender, RoutedEventArgs e)
{
    // Instantiate the CancellationTokenSource.
    cts = new CancellationTokenSource();

    try
    {
        // ***Set up the CancellationTokenSource to cancel after 2.5 seconds. (You
        // can adjust the time.)
        cts.CancelAfter(2500);
         // I'm assuming this is your function that calculates time
        await CalculateTime(cts.Token);
    }
    catch (OperationCanceledException)
    {
        // "\r\nDownloads canceled.\r\n";
    }
    catch (Exception)
    {
        // "\r\nDownloads failed.\r\n";
    }

    cts = null;
}

次に、でOperationCancelledException再試行するか、非同期関数を再度呼び出す必要があることを示す変数を返すことができます。

計算を非同期に変更できない場合は、TaskFactoryクラスを試すことができます

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

C#で実行が一定時間を超えた場合に関数をリロードするにはどうすればよいですか?

分類Dev

JavaScriptで、特定の時間に関数を実行するにはどうすればよいですか?

分類Dev

Rでコードのすべての行が実行された後に特定の関数を実行するにはどうすればよいですか?

分類Dev

タイプContainer <T> :: Iteratorの関数パラメーターが与えられた場合、特定の種類のTに対して特定のオーバーロードを実現するにはどうすればよいですか?

分類Dev

別の関数に時間がかかる場合、別の関数の完了後に関数を呼び出すにはどうすればよいですか?

分類Dev

setInterval関数に、指定された間隔で関数を実行するのに十分な時間がない場合はどうなりますか?

分類Dev

jQueryでdivカウントが5を超えた場合、間隔を置いて関数を停止するにはどうすればよいですか?

分類Dev

関数が再度呼び出された場合、関数の最初の呼び出しの実行を停止するにはどうすればよいですか?

分類Dev

特定の時間後に関数を実行し、特定の時間後にそれをオフにするにはどうすればよいですか?

分類Dev

Unity / C#:別の関数が実行を終了した後に関数を実行するにはどうすればよいですか?

分類Dev

ページに特定のキーワードが含まれているかどうかを確認するにはどうすればよいですか?(キーワードが存在する場合は関数を実行します)

分類Dev

メソッドの例外ハンドラーでJUnitテストを実行するにはどうすればよいですか?また、関数が通常入力にファイルを使用する場合はどうすればよいですか?

分類Dev

特定の秒後に本文がクリックされた場合、JavaScript関数をトリガーするにはどうすればよいですか?

分類Dev

関数の呼び出しで例外がスローされた場合に処理を続行するにはどうすればよいですか?

分類Dev

Juliaで関数の実行時間を取得するにはどうすればよいですか?

分類Dev

特定の Cookie が存在しない場合にのみ、この JavaScript 関数と HTML を実行するにはどうすればよいですか

分類Dev

各要素の関数を異なる時間に実行するにはどうすればよいですか?

分類Dev

開発のためにC#ベースのAWS Lambda関数をローカルで実行するにはどうすればよいですか?

分類Dev

必要な場合にのみjQuery関数を実行するにはどうすればよいですか?

分類Dev

ページをAngularでリロードしたときにのみ関数を実行するにはどうすればよいですか?

分類Dev

asp.net Webフォームがロードされたときにjavascript関数の実行を停止するにはどうすればよいですか?

分類Dev

ウィンドウ関数を介したSQLServer状態変更クエリ:状態* WITHIN *状態ブロックで実行中の合計時間を取得するにはどうすればよいですか?

分類Dev

この関数を特定の時間ループさせるにはどうすればよいですか?

分類Dev

クラスで定義されている場合、特定の順序で関数を実行するにはどうすればよいですか?

分類Dev

関数の場合にのみ残りのコードを実行するにはどうすればよいですか?

分類Dev

Django:サーバーの終了時に関数を実行するにはどうすればよいですか?

分類Dev

WebdriverのヘッドレスがTrueに等しい場合、「scrollIntoView()」関数を実行するにはどうすればよいですか?

分類Dev

関数の1つが完了した後、laravelで特定の期間が経過した後、関数を実行するようにスケジュールするにはどうすればよいですか?

分類Dev

DOMが完全にロードされたら、ターボリンクで関数を実行するにはどうすればよいですか?

Related 関連記事

  1. 1

    C#で実行が一定時間を超えた場合に関数をリロードするにはどうすればよいですか?

  2. 2

    JavaScriptで、特定の時間に関数を実行するにはどうすればよいですか?

  3. 3

    Rでコードのすべての行が実行された後に特定の関数を実行するにはどうすればよいですか?

  4. 4

    タイプContainer <T> :: Iteratorの関数パラメーターが与えられた場合、特定の種類のTに対して特定のオーバーロードを実現するにはどうすればよいですか?

  5. 5

    別の関数に時間がかかる場合、別の関数の完了後に関数を呼び出すにはどうすればよいですか?

  6. 6

    setInterval関数に、指定された間隔で関数を実行するのに十分な時間がない場合はどうなりますか?

  7. 7

    jQueryでdivカウントが5を超えた場合、間隔を置いて関数を停止するにはどうすればよいですか?

  8. 8

    関数が再度呼び出された場合、関数の最初の呼び出しの実行を停止するにはどうすればよいですか?

  9. 9

    特定の時間後に関数を実行し、特定の時間後にそれをオフにするにはどうすればよいですか?

  10. 10

    Unity / C#:別の関数が実行を終了した後に関数を実行するにはどうすればよいですか?

  11. 11

    ページに特定のキーワードが含まれているかどうかを確認するにはどうすればよいですか?(キーワードが存在する場合は関数を実行します)

  12. 12

    メソッドの例外ハンドラーでJUnitテストを実行するにはどうすればよいですか?また、関数が通常入力にファイルを使用する場合はどうすればよいですか?

  13. 13

    特定の秒後に本文がクリックされた場合、JavaScript関数をトリガーするにはどうすればよいですか?

  14. 14

    関数の呼び出しで例外がスローされた場合に処理を続行するにはどうすればよいですか?

  15. 15

    Juliaで関数の実行時間を取得するにはどうすればよいですか?

  16. 16

    特定の Cookie が存在しない場合にのみ、この JavaScript 関数と HTML を実行するにはどうすればよいですか

  17. 17

    各要素の関数を異なる時間に実行するにはどうすればよいですか?

  18. 18

    開発のためにC#ベースのAWS Lambda関数をローカルで実行するにはどうすればよいですか?

  19. 19

    必要な場合にのみjQuery関数を実行するにはどうすればよいですか?

  20. 20

    ページをAngularでリロードしたときにのみ関数を実行するにはどうすればよいですか?

  21. 21

    asp.net Webフォームがロードされたときにjavascript関数の実行を停止するにはどうすればよいですか?

  22. 22

    ウィンドウ関数を介したSQLServer状態変更クエリ:状態* WITHIN *状態ブロックで実行中の合計時間を取得するにはどうすればよいですか?

  23. 23

    この関数を特定の時間ループさせるにはどうすればよいですか?

  24. 24

    クラスで定義されている場合、特定の順序で関数を実行するにはどうすればよいですか?

  25. 25

    関数の場合にのみ残りのコードを実行するにはどうすればよいですか?

  26. 26

    Django:サーバーの終了時に関数を実行するにはどうすればよいですか?

  27. 27

    WebdriverのヘッドレスがTrueに等しい場合、「scrollIntoView()」関数を実行するにはどうすればよいですか?

  28. 28

    関数の1つが完了した後、laravelで特定の期間が経過した後、関数を実行するようにスケジュールするにはどうすればよいですか?

  29. 29

    DOMが完全にロードされたら、ターボリンクで関数を実行するにはどうすればよいですか?

ホットタグ

アーカイブ