clang-tools 8.0.0

Public Member Functions | List of all members
clang::clangd::AsyncTaskRunner Class Reference

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)

## Detailed Description

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.

## Constructor & Destructor Documentation

## ◆ ~AsyncTaskRunner()

clang::clangd::AsyncTaskRunner::~AsyncTaskRunner | ( |  | ) |

Destructor waits for all pending tasks to finish.

Definition at line 62 of file Threading.cpp.

References clang::clangd::wait().

## Member Function Documentation

## ◆ runAsync()

void clang::clangd::AsyncTaskRunner::runAsync | ( | const llvm::Twine & | Name,
|  | llvm::unique_function< void()> | Action
| ) |  |

Definition at line 70 of file Threading.cpp.

References Action.

## ◆ wait() [1/2]

void clang::clangd::AsyncTaskRunner::wait | ( |  | ) | const
| 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 wait().

## ◆ wait() [2/2]

bool clang::clangd::AsyncTaskRunner::wait | ( | Deadline | D | ) | const

Definition at line 64 of file Threading.cpp.

References clang::clangd::wait().

The documentation for this class was generated from the following files:

- Threading.h
- Threading.cpp