dvyukov added a comment. No, it is not OK. How does the look like? Note to get thread id reuse, you don't need to use GCD worker threads, you can create 16 normal threads, ensure that they started and join them. http://reviews.llvm.org/D19722