X時間後に別の関数を実行するために、この関数を作成しようとしています:
void execAfter(double time, void *(*func)(void *), t_params *params);
スレッドのカプセル化と時間のカプセル化 (オブジェクトのスレッドと時間) を作成しました。
疑似コードでやりたいこと:
Call execAfter
instantiate Thread
call thread->create(*funcToExec, *params, timeToWait)
[inside thread, leaving execAfter]
instanciate Time object
wait for X time
exec funcToExec
delete Time object
[leaving thread, back to execAfter]
delete Thread object <---- probleme is here, see description below.
return ;
残りの実行をブロックしたり、必要な時間が経過する前に削除するリスクを冒したりせずに、Thread オブジェクトを適切に削除するにはどうすればよいですか。
私はかなり迷っています。