我试图更好地理解JS中的异步函数和承诺。为此,我编写了一个示例程序,该程序的目标是调用一个繁忙工作的函数(故意不使用异步setTimeout,因为我希望模拟一个长期运行的过程),但会立即返回。当我运行它时,我得到:Done with async work我希望它是:Print 2
Done with async
在下面的代码中,使用atomics是保证所有平台上的无竞争语义所必需的,还是使用诺言的用法?use _value/Future.Wait意味着某种隐式内存屏障,它允许我依赖外部线程已经可见的标志写?implementationvoid runInThreadPoolBlocking(Callable func) std::promiseauto fut = p