clang-tools
10.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 105 of file Threading.h.
clang::clangd::AsyncTaskRunner::~AsyncTaskRunner | ( | ) |
Destructor waits for all pending tasks to finish.
Definition at line 62 of file Threading.cpp.
References clang::clangd::wait().
void clang::clangd::AsyncTaskRunner::runAsync | ( | const llvm::Twine & | Name, |
llvm::unique_function< void()> | Action | ||
) |
Definition at line 70 of file Threading.cpp.
References Action.
Referenced by clang::clangd::TEST().
|
inline |
Definition at line 110 of file Threading.h.
References Action, clang::clangd::Deadline::infinity(), Name, clang::clangd::runAsync(), clang::clangd::Notification::wait(), and wait().
Referenced by clang::clangd::TEST(), wait(), and clang::clangd::BackgroundIndex::~BackgroundIndex().
bool clang::clangd::AsyncTaskRunner::wait | ( | Deadline | D | ) | const |
Definition at line 64 of file Threading.cpp.
References clang::clangd::wait().