ステップバイステップのゲームの特定のレベルの解決策を見つける (または解決策が存在しないことを証明する) C++ で記述されたコンソール Windows アプリケーションがあります。それを「ソルバー」と呼びましょう。このアプリケーションは、すべてのゲーム レベルで Python スクリプトからループで起動されます。一部のレベルは難しすぎて、それらを解決するのに何時間も何日もかかります。
私のアプリケーションが「難しすぎるレベル」などの文字列を出力して終了し、Python スクリプトが次のレベルに移動できるようにすることができれば、受け入れられます。 、30分。
開始から 30 秒後にソルバーを中断するにはどうすればよいですか? 技術的には、アルゴリズムを解くことは、 から呼び出される単なる再帰手順int main()
です。
起動してから 30 分後に起動し、ブール値のフラグを設定するセカンダリ スレッドを作成することを考えています。そして、プライマリ(解決)スレッドはこのフラグを定期的にチェックします。
これは機能しますが、よりシンプルでエレガントなソリューションはありませんか?