Classes | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
grpc_event_engine::iomgr_engine::ThreadPool Class Referencefinal

#include <thread_pool.h>

Inheritance diagram for grpc_event_engine::iomgr_engine::ThreadPool:
Inheritance graph
[legend]

Classes

class  Thread
 

Public Member Functions

void Add (const std::function< void()> &callback)
 
void PostforkChild () override
 
void PostforkParent () override
 
void PrepareFork () override
 
 ThreadPool (int reserve_threads)
 
 ~ThreadPool () override
 
- Public Member Functions inherited from grpc_event_engine::experimental::Forkable
 Forkable ()
 
virtual ~Forkable ()
 

Private Member Functions

void StartNThreadsLocked (int n) ABSL_EXCLUSIVE_LOCKS_REQUIRED(&mu_)
 
void ThreadFunc ()
 

Static Private Member Functions

static void ReapThreads (std::vector< Thread * > *tlist)
 

Private Attributes

std::queue< std::function< void()> > callbacks_
 
grpc_core::CondVar cv_
 
std::vector< Thread * > dead_threads_
 
grpc_core::CondVar fork_cv_
 
bool forking_
 
grpc_core::Mutex mu_
 
int nthreads_
 
int reserve_threads_
 
bool shutdown_
 
grpc_core::CondVar shutdown_cv_
 
int threads_waiting_
 

Detailed Description

Definition at line 37 of file src/core/lib/event_engine/iomgr_engine/thread_pool.h.

Constructor & Destructor Documentation

◆ ThreadPool()

grpc_event_engine::iomgr_engine::ThreadPool::ThreadPool ( int  reserve_threads)
explicit

Definition at line 80 of file thread_pool.cc.

◆ ~ThreadPool()

grpc_event_engine::iomgr_engine::ThreadPool::~ThreadPool ( )
override

Definition at line 102 of file thread_pool.cc.

Member Function Documentation

◆ Add()

void grpc_event_engine::iomgr_engine::ThreadPool::Add ( const std::function< void()> &  callback)

Definition at line 112 of file thread_pool.cc.

◆ PostforkChild()

void grpc_event_engine::iomgr_engine::ThreadPool::PostforkChild ( )
overridevirtual

Implements grpc_event_engine::experimental::Forkable.

Definition at line 149 of file thread_pool.cc.

◆ PostforkParent()

void grpc_event_engine::iomgr_engine::ThreadPool::PostforkParent ( )
overridevirtual

Implements grpc_event_engine::experimental::Forkable.

Definition at line 143 of file thread_pool.cc.

◆ PrepareFork()

void grpc_event_engine::iomgr_engine::ThreadPool::PrepareFork ( )
overridevirtual

Implements grpc_event_engine::experimental::Forkable.

Definition at line 133 of file thread_pool.cc.

◆ ReapThreads()

void grpc_event_engine::iomgr_engine::ThreadPool::ReapThreads ( std::vector< Thread * > *  tlist)
staticprivate

Definition at line 97 of file thread_pool.cc.

◆ StartNThreadsLocked()

void grpc_event_engine::iomgr_engine::ThreadPool::StartNThreadsLocked ( int  n) &
private

Definition at line 90 of file thread_pool.cc.

◆ ThreadFunc()

void grpc_event_engine::iomgr_engine::ThreadPool::ThreadFunc ( )
private

Definition at line 52 of file thread_pool.cc.

Member Data Documentation

◆ callbacks_

std::queue<std::function<void()> > grpc_event_engine::iomgr_engine::ThreadPool::callbacks_
private

◆ cv_

grpc_core::CondVar grpc_event_engine::iomgr_engine::ThreadPool::cv_
private

◆ dead_threads_

std::vector<Thread*> grpc_event_engine::iomgr_engine::ThreadPool::dead_threads_
private

◆ fork_cv_

grpc_core::CondVar grpc_event_engine::iomgr_engine::ThreadPool::fork_cv_
private

◆ forking_

bool grpc_event_engine::iomgr_engine::ThreadPool::forking_
private

◆ mu_

grpc_core::Mutex grpc_event_engine::iomgr_engine::ThreadPool::mu_
private

◆ nthreads_

int grpc_event_engine::iomgr_engine::ThreadPool::nthreads_
private

◆ reserve_threads_

int grpc_event_engine::iomgr_engine::ThreadPool::reserve_threads_
private

◆ shutdown_

bool grpc_event_engine::iomgr_engine::ThreadPool::shutdown_
private

◆ shutdown_cv_

grpc_core::CondVar grpc_event_engine::iomgr_engine::ThreadPool::shutdown_cv_
private

◆ threads_waiting_

int grpc_event_engine::iomgr_engine::ThreadPool::threads_waiting_
private

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


grpc
Author(s):
autogenerated on Fri May 16 2025 03:03:40