An application built with a standard platform toolchain (Xcode / Clang) does not use a thread pool. The stack base of a task launched with std::async contains calls to std :: thread and pthread.

On exit, each job calls pthread_exit() to kill the thread executing it.

Xcode 8.3.3 also uses the OS thread for every job launched with std::async when creating for iOS (tested on the original target of iPad version 9.7).

source share