We have ThreadPool, which can execute work asynchronously on N
background threads, but sometimes you need to make sure the work
is executed asynchronously but also serially. That is, if task
B is enqueued after task A, then task B should not begin until
task A has completed. This patch adds such a class.
Differential Revision: https://reviews.llvm.org/D48240
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@335440 91177308-0d34-0410-b5e6-96231b3b80d8