Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;11为什么std::async的名称令人困惑?_C++_C++11_Asynchronous - Fatal编程技术网

C++ C++;11为什么std::async的名称令人困惑?

C++ C++;11为什么std::async的名称令人困惑?,c++,c++11,asynchronous,C++,C++11,Asynchronous,作为标题,为什么std::async我称之为“async”?这让我有点困惑,模板的名称表示并行处理,但它可以(有时是默认的)同步?“模板函数async异步运行函数f(可能在单独的线程中,该线程可能是线程池的一部分)并返回一个std::future,它最终将保存该函数调用的结果。”真正异步调用的可能副本与语言的其余部分不太一致,通常也不是非常有用,至少从纯粹主义的角度来看,在“在另一个线程上运行此函数,我稍后将处理它”的上下文中是如此。在某个时刻,主线程将需要异步线程的某种结果,如果此时线程还没有

作为标题,为什么std::async我称之为“async”?这让我有点困惑,模板的名称表示并行处理,但它可以(有时是默认的)同步?

“模板函数async异步运行函数f(可能在单独的线程中,该线程可能是线程池的一部分)并返回一个std::future,它最终将保存该函数调用的结果。”

真正异步调用的可能副本与语言的其余部分不太一致,通常也不是非常有用,至少从纯粹主义的角度来看,在“在另一个线程上运行此函数,我稍后将处理它”的上下文中是如此。在某个时刻,主线程将需要异步线程的某种结果,如果此时线程还没有开始执行,那么同步执行工作比在主线程上执行等待要好。试图在标识符中描述“有意义的异步”也同样复杂。现在它更有意义了。它的工作方式是聪明的。也许他们可以给它起个更好的名字,async关键字(对我来说)与并行性紧密相连。非常感谢您的回答。来自同一来源:“换句话说,f可能在另一个线程中执行,或者在查询结果std::future的值时,它可能同步运行。”我知道它是如何工作的,但这个机制的名称对我来说有点混淆。