这个图是从别的地方拿的思想是一样的
async是异步任务他不会创建一个线程,他会使用上下文调用方法把这个函数当成一个线程!注意只是当成然后给他塞到调用里面当主线程阻塞或者时间片到了会调用这个函数。
这也就解释了为什么这个函数ID和主线程一样
而多线程是创建了一个线程把他塞到时间片里去,所以你会text函数ID和他的主线程ID不一样
但我不理解C++11标准为什么async封装的函数会创建一个新线程那真的叫异步吗直接叫多线程不就好了

这个图是从别的地方拿的思想是一样的
async是异步任务他不会创建一个线程,他会使用上下文调用方法把这个函数当成一个线程!注意只是当成然后给他塞到调用里面当主线程阻塞或者时间片到了会调用这个函数。
这也就解释了为什么这个函数ID和主线程一样
而多线程是创建了一个线程把他塞到时间片里去,所以你会text函数ID和他的主线程ID不一样
但我不理解C++11标准为什么async封装的函数会创建一个新线程那真的叫异步吗直接叫多线程不就好了