Public Member Functions | |
| ThreadPool (size_t n, size_t max_queue=4096) | |
| ~ThreadPool () | |
| void | enqueue (std::function< void()> fn) |
Private Member Functions | |
| void | worker_thread () |
Private Attributes | |
| std::vector< std::thread > | workers |
| std::queue< std::function< void()> > | tasks |
| std::mutex | mtx |
| std::condition_variable | cv |
| std::condition_variable | cv_space |
| bool | stop |
| size_t | max_queue |
Definition at line 65 of file BastionGuard-ransomware-scanner.cpp.
|
inlineexplicit |
Definition at line 67 of file BastionGuard-ransomware-scanner.cpp.
References max_queue, stop, worker_thread(), and workers.
|
inline |
Definition at line 74 of file BastionGuard-ransomware-scanner.cpp.
|
inline |
Definition at line 85 of file BastionGuard-ransomware-scanner.cpp.
References cv, cv_space, max_queue, mtx, stop, and tasks.
Referenced by main().
|
inlineprivate |
Definition at line 94 of file BastionGuard-ransomware-scanner.cpp.
References cv, cv_space, mtx, stop, and tasks.
Referenced by ThreadPool().
|
private |
Definition at line 113 of file BastionGuard-ransomware-scanner.cpp.
Referenced by enqueue(), worker_thread(), and ~ThreadPool().
|
private |
Definition at line 114 of file BastionGuard-ransomware-scanner.cpp.
Referenced by enqueue(), worker_thread(), and ~ThreadPool().
|
private |
Definition at line 116 of file BastionGuard-ransomware-scanner.cpp.
Referenced by enqueue(), and ThreadPool().
|
private |
Definition at line 112 of file BastionGuard-ransomware-scanner.cpp.
Referenced by enqueue(), worker_thread(), and ~ThreadPool().
|
private |
Definition at line 115 of file BastionGuard-ransomware-scanner.cpp.
Referenced by enqueue(), ThreadPool(), worker_thread(), and ~ThreadPool().
|
private |
Definition at line 111 of file BastionGuard-ransomware-scanner.cpp.
Referenced by enqueue(), and worker_thread().
|
private |
Definition at line 110 of file BastionGuard-ransomware-scanner.cpp.
Referenced by ThreadPool(), and ~ThreadPool().