better interface for critical threaded sections

This commit is contained in:
portelli committed 2021-11-28 23:51:56 +00:00
1 parent fe8c6c6630
commit 78351a9b76
3 files changed
+14 -4

No files matched your search

+8
View File
@@ -92,6 +92,14 @@ void ThreadPool::addJob(Job newJob)
condition_.notify_one();
}
// critical section ////////////////////////////////////////////////////////////
void ThreadPool::critical(Job fn)
{
unique_lock<mutex> lock(mutex_);
fn();
}
// wait for completion /////////////////////////////////////////////////////////
void ThreadPool::terminate(void)
{
+2
View File
@@ -37,6 +37,8 @@ public:
std::mutex & getMutex(void);
// add jobs
void addJob(Job newJob);
// critical section
void critical(Job fn);
// wait for completion and terminate
void terminate(void);
private: