clang-tools
15.0.0git
|
Runs tasks on separate (detached) threads and wait for all tasks to finish. More...
#include <Threading.h>
Public Member Functions | |
~AsyncTaskRunner () | |
Destructor waits for all pending tasks to finish. More... | |
void | wait () const |
LLVM_NODISCARD bool | wait (Deadline D) const |
void | runAsync (const llvm::Twine &Name, llvm::unique_function< void()> Action) |
Runs tasks on separate (detached) threads and wait for all tasks to finish.
Objects that need to spawn threads can own an AsyncTaskRunner to ensure they all complete on destruction.
Definition at line 107 of file Threading.h.
clang::clangd::AsyncTaskRunner::~AsyncTaskRunner | ( | ) |
Destructor waits for all pending tasks to finish.
Definition at line 72 of file Threading.cpp.
References wait().
void clang::clangd::AsyncTaskRunner::runAsync | ( | const llvm::Twine & | Name, |
llvm::unique_function< void()> | Action | ||
) |
Definition at line 80 of file Threading.cpp.
|
inline |
Definition at line 112 of file Threading.h.
References clang::clangd::Deadline::infinity(), and wait().
Referenced by wait(), ~AsyncTaskRunner(), and clang::clangd::BackgroundIndex::~BackgroundIndex().
bool clang::clangd::AsyncTaskRunner::wait | ( | Deadline | D | ) | const |
Definition at line 74 of file Threading.cpp.
References ns1::ns2::D, and clang::clangd::wait().