在C ++中,是否有人想要写
std::thread t(foo);
t.join();
与
foo();
?
在我看来,第一个选项只是使用更多的资源来无缘无故地创建一个线程,但我错过了什么?
在C ++中,只是因为你想要新的新线程本地状态,然后处理它。可能是一个糟糕的desogn。
在C ++之外,在某些执行环境中,代码在主线程中的行为与在其外部的行为不同。
这可以确保代码不会在主要的UI线程中运行,同时仍然确保它是阻塞和同步的。
实际的弯曲可能正在运行一些任务,它以你不信任的方式混淆自己的线程状态,也不知道如何完全反转。即,第三方图书馆。这基本上是第一种情况,但是你试图从不能重写的错误代码中解脱出来。