![]() |
Gray C++ Libraries
0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
|
#include <cJobThreadSeq.h>
Public Member Functions | |
| cJobThreadSeq (TIMESYSD_t tPollFreq=60 *cTimeSys::k_FREQ) | |
| virtual | ~cJobThreadSeq () |
| STDMETHOD_ (cString, get_Name)() const override | |
| ITERATE_t | AddJobX (cJobBase *pJob) |
| void | RemoveAllJobs () |
Public Member Functions inherited from GrayLib::cThreadNamed< cJobThreadSeq > | |
| virtual HRESULT | CreateThread (DWORD dwCreationFlags=0) override |
Public Member Functions inherited from GrayLib::cThreadChecked | |
| cThreadChecked () | |
| virtual | ~cThreadChecked () |
| virtual bool | CheckStuckThread (TIMESYSD_t iMilliSecTilStuck, bool bTerminateAndRestart) |
| called by external thread. More... | |
| UINT | get_ThreadTicks () const |
| bool | isCriticalWait () const |
| void | ChangeCriticalWait (int iDelta) |
Public Member Functions inherited from GrayLib::cThread | |
| cThread () | |
| virtual | ~cThread () |
| bool | isValidThreadHandle () const noexcept |
| THREADID_t | get_HashCode () const noexcept |
| virtual bool | isValidCheck () const noexcept |
| < memory allocation and structure definitions are valid. More... | |
| STDMETHOD_ (cString, get_Name)() const | |
| override memory allocation and structure definitions are valid. More... | |
| bool | isThreadSleeping () const noexcept |
| THREAD_EXITCODE_t | get_ExitCodeThread () const |
| int | get_ThreadPriority () const |
| bool | put_ThreadPriority (int nPriority) |
| bool | SuspendThread () |
| bool | ResumeThread () |
| virtual HRESULT | SleepThread (TIMESYSD_t dwWaitMillisec=1, bool bAlertable=false) |
| virtual bool | RequestStopThread (bool bWillWait=false) noexcept override |
| bool | ExitCurrentThread (THREAD_EXITCODE_t nExitCode=THREAD_EXITCODE_OK) |
| bool | WaitForThreadExit (TIMESYSD_t nMilliSec=cTimeSys::k_FREQ) |
| THREAD_EXITCODE_t | WaitForThreadExitCode (TIMESYSD_t iTimeMSec=cTimeSys::k_FREQ) |
| bool | TerminateThread (THREAD_EXITCODE_t iExitCode=THREAD_EXITCODE_ERR, TIMESYSD_t nMilliSec=0) |
| void | AttachToCurrentThread () |
| HRESULT | CreateThread (THREAD_FUNC_t pEntryProc, void *pArgs, DWORD dwCreationFlags=0) |
| void | CloseThread () |
Public Member Functions inherited from GrayLib::cThreadBase | |
| cThreadBase () noexcept | |
| virtual | ~cThreadBase () |
Public Member Functions inherited from Gray::CObject | |
| virtual | ~CObject () |
| virtual void | AssertValid () const |
| < memory allocation and structure definitions are valid. More... | |
| virtual void | Serialize (cArchive &a) |
Public Member Functions inherited from Gray::cThreadId | |
| cThreadId (THREADID_t nThreadId=k_NULL) noexcept | |
| THREADID_t | GetThreadId () const noexcept |
| THREADID_t | get_HashCode () const noexcept |
| bool | isCurrentThread () const noexcept |
| bool | isValidId () const noexcept |
| void | InitCurrentId () noexcept |
Public Member Functions inherited from Gray::cRefBase | |
| cRefBase (int iRefCount=0) noexcept | |
| virtual | ~cRefBase () |
| int | get_RefCount () const noexcept |
| HASHCODE_t | get_HashCode () const noexcept |
| STDMETHOD_ (HASHCODE_t, get_HashCodeX)() const noexcept | |
| virtual void | onFinalRelease () |
| bool | isValidObj () const noexcept |
| STDMETHOD_ (ULONG, AddRef)(void) override | |
| STDMETHOD_ (ULONG, Release)(void) override | |
| STDMETHOD() | QueryInterface (const IID &riid, void __RPC_FAR *__RPC_FAR *ppvObject) override |
| void | IncRefCount () |
| void | DecRefCount () |
| bool | isStaticConstruct () const noexcept |
| void | StaticConstruct () |
| void | StaticDestruct () |
| bool | isDestructing () noexcept |
| void | SetDestructing () |
Public Member Functions inherited from Gray::cThreadState | |
| cThreadState () noexcept | |
| bool | isThreadRunning () const noexcept |
| bool | isThreadStopping () const noexcept |
Public Attributes | |
| cJobArray | m_Jobs |
| the array of jobs i run when i can. sequentially. More... | |
| TIMESYSD_t | m_tPollFreq |
| How often to poll? default = 60 sec. More... | |
Public Attributes inherited from GrayLib::cThreadChecked | |
| UINT | m_nThreadTicksLast |
| checked periodically by outside observer. More... | |
| cTimeSys | m_tStart |
| When did thread first run ? More... | |
| TIMESYS_t | m_timeLastChanged |
| Last outside detected tick change time. More... | |
| UINT | m_nRecoveryStage |
| What have we done about being stuck ? More... | |
Protected Member Functions | |
| virtual void | WakeThread () override |
| virtual THREAD_EXITCODE_t | Run () override |
| WorkerThreadProc. More... | |
Protected Member Functions inherited from GrayLib::cThreadChecked | |
| virtual bool | ThreadTick () override |
| virtual void | onThreadCreate () override |
| Notification that the thread has started or stopped. More... | |
Protected Member Functions inherited from GrayLib::cThread | |
| THREAD_EXITCODE_t | RunDirectly () |
| virtual void | onThreadExit (THREAD_EXITCODE_t nExitCode) |
| OnExit. More... | |
| void | onThreadTerminated (THREAD_EXITCODE_t nExitCode) |
Additional Inherited Members | |
Static Public Member Functions inherited from GrayLib::cThreadChecked | |
| static cThreadChecked *GRAYCALL | GetCurrentThreadChecked () |
Static Public Member Functions inherited from GrayLib::cThread | |
| static cThread *GRAYCALL | GetCurrentThread () |
| static bool GRAYCALL | IsCurrentThreadStopping () |
| static void GRAYCALL | RequestStopThreadArray (bool bWillWait, cThread **ppThreads, size_t nThreads) |
| static void GRAYCALL | TerminateThreadArray (THREAD_EXITCODE_t nExitCode, TIMESYSD_t iTimeMSec, cThread **ppThreads, size_t nThreads) |
Static Public Member Functions inherited from Gray::cThreadId | |
| static THREADID_t | GetCurrentId () noexcept |
| static bool | IsValidId (THREADID_t id) noexcept |
| static bool | IsEqualId (THREADID_t a, THREADID_t b) noexcept |
| static void | SleepCurrent (TIMESYS_t uMs=cTimeSys::k_FREQ) noexcept |
Static Public Attributes inherited from Gray::cThreadId | |
| static const THREADID_t | k_NULL = 0 |
| Not a valid thread Id. More... | |
Static Protected Member Functions inherited from GrayLib::cThreadNamed< cJobThreadSeq > | |
| static THREAD_EXITCODE_t _stdcall | EntryProc (void *pThisThread) |
Static Protected Member Functions inherited from GrayLib::cThread | |
| static THREAD_EXITCODE_t _stdcall | EntryProc (void *pThisThread) |
| _WorkerThreadProc More... | |
Protected Attributes inherited from GrayLib::cThreadChecked | |
| UINT | m_nThreadTicks |
| periodically increment this to make sure the thread is alive! More... | |
Protected Attributes inherited from GrayLib::cThread | |
| bool | m_bThreadSleeping |
| Idle worker threads waiting for something to do. inside Sleep() or WaitForSingleObject() More... | |
| bool | m_bThreadSuspended |
| May be resumed. inside Suspend() -> Resume() More... | |
Protected Attributes inherited from GrayLib::cThreadBase | |
| THREADHANDLE_t | m_hThread |
| there may be many handles to the same THREADID_t in _WIN32. I must call CloseThread() on this. More... | |
Protected Attributes inherited from Gray::cThreadId | |
| THREADID_t | m_dwThreadId |
| unique thread id. i.e. stack base pointer. (Use the MFC name) More... | |
Protected Attributes inherited from Gray::cThreadState | |
| bool | m_bThreadRunning |
| called CreateThread() onThreadCreate(), and inside Run(), until onThreadExit() More... | |
| volatile bool | m_bThreadStopping |
| trying to stop the thread nicely. Do this before TerminateThread() More... | |
a background thread for doing sequences of slow / low (equal) priority stuff. Exec a sequence of jobs to completion on this thread. (NOT parallel) Similar to cJobThreadMgr.
| GrayLib::cJobThreadSeq::cJobThreadSeq | ( | TIMESYSD_t | tPollFreq = 60 * cTimeSys::k_FREQ | ) |
|
virtual |
| void GrayLib::cJobThreadSeq::RemoveAllJobs | ( | ) |
|
overrideprotectedvirtual |
WorkerThreadProc.
thread should override this for body.
Just make sure the main loop is alive every so often. This should be the parent thread. try to restart it if it is not.
implementation should virtual override this (or ThreadTick) for body.
Reimplemented from GrayLib::cThread.
|
inlineoverride |
|
overrideprotectedvirtual |
Usually just to wake up to stop the thread nicely.
Reimplemented from GrayLib::cThread.
| cJobArray GrayLib::cJobThreadSeq::m_Jobs |
the array of jobs i run when i can. sequentially.
| TIMESYSD_t GrayLib::cJobThreadSeq::m_tPollFreq |
How often to poll? default = 60 sec.