1#ifndef AMREX_BACKGROUND_THREAD_H_
2#define AMREX_BACKGROUND_THREAD_H_
3#include <AMReX_Config.H>
6#include <condition_variable>
25 void Submit (std::function<
void()>&& a_f);
26 void Submit (std::function<
void()>
const& a_f);
33 std::unique_ptr<std::thread> m_thread;
35 std::condition_variable m_job_cond;
36 std::condition_variable m_done_cond;
37 std::queue<std::function<void()> > m_func;
38 bool m_clearing =
false;
39 bool m_finalizing =
false;
Definition AMReX_BackgroundThread.H:16
void Finish()
Definition AMReX_BackgroundThread.cpp:52
BackgroundThread()
Definition AMReX_BackgroundThread.cpp:5
void Submit(std::function< void()> &&a_f)
Definition AMReX_BackgroundThread.cpp:38
~BackgroundThread()
Definition AMReX_BackgroundThread.cpp:10
BackgroundThread & operator=(BackgroundThread const &)=delete
BackgroundThread(BackgroundThread const &)=delete
BackgroundThread(BackgroundThread &&)=delete
Definition AMReX_Amr.cpp:49