在使用Xcode构建macOS时,C异步是否使用线程池?

前端之家收集整理的这篇文章主要介绍了在使用Xcode构建macOS时,C异步是否使用线程池?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用平台的标准开发工具和编译器[1],std :: async是否为每个后台作业生成一个新的OS线程,还是使用线程池或某些基于工作窃取任务队列的系统?

> Xcode,Clang / LLVM

解决方法

使用标准工具链(Xcode / Clang)构建的应用程序不使用线程池.使用std :: async启动的任务堆栈的基础包含std :: thread和pthread调用.

Stack trace showing async job running on a dedicated OS thread

退出时,每个作业都会调用pthread_exit()来终止运行它的线程.

enter image description here

Xcode 8.3.3还在为iOS构建时使用std :: async启动的每个作业使用OS线程(在原始iPad Pro 9.7“目标上测试).

enter image description here

@H_404_35@

猜你在找的Xcode相关文章