error code
fork
...
join_any
disable fork;
如果需要在fork-join_any后使用disbale fork,为了防止误杀线程,需要添加fork begin - join将原代码保住
right code
fork begin
fork
...
join_any
disable fork;
end
join
比如在task中存在disable fork,且tash_inst被并行执行两次
fork
task_inst(0);
task_inst(1);
join
其中task_int(0)早于task_inst(1)完成,那么当调用task_inst(0)完成时,会将task_inst(1)误杀