タイムアウト関数呼び出しが必要です。私は主にQt(4.7.3、4.8.5)を使用しているため、Qtで解決策を見つけようとしました。QFuture と QtConcurrent の 2 つのクラスは、必要なものの 99% を実行しているようですが、関数呼び出しをタイムアウトにする可能性が見つかりません。
私の問題: 私はテスター (gtest) を持っていて、無限ループで終了する可能性のある関数をテストします => その問題を修正するためにこれをテストしたい [s] (この関数は内部極値複合体です :-( ). I無限ループがある場合にタイムアウト時間を追加したい => そのため、何かが間違っていること (無限ループ) をテスターに伝えることができ、スレッドを終了します。
私はそのようなものを検索しています:
QtConcurrent::run(............,30000 /*30 seconds timeout)*/;
どうすればこれができるか知っている人はいますか? (ネイティブC ++、ブースト、または...で可能であれば、解決策も教えてください)