DreamCll

博客园 首页 联系 订阅 管理
  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)误杀

posted on 2021-06-05 14:45  DreamCll  阅读(381)  评论(0编辑  收藏  举报