等到功能完成后再继续主(一个线程)

时间:2016-07-23 15:10:43

标签: c++ wait sleep

让我们有一个单线程的程序,它调用一个大的functionLarge(),它需要在调用者main函数中的下一个代码行之前完成。假设功能很好地分解并且需要很长时间。
建议answer .wait(),我想知道它是否优于:

  bool done = false;
  // returning true at the end, modifies bigObject by refrence
  done =   functionLarge(bigObject);
  while(!done) { usleep(1000); }

  //...can now continue

是否有更好的方法,没有返回bool

1 个答案:

答案 0 :(得分:1)

你已经大大过度复杂了,因为已经是如何运作

正如你所说,它的单线程。控制权将传递给bool,并且在该功能完成之前不会返回。

你不需要做任何事情。无需任何whileint main() { doThis(); nowDoThis(); } 循环。使用单个线程,将要做什么"等待",确切地说?

{{1}}