CyberEngineMkIII
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | List of all members
CYB::API::Threadable Class Referenceabstract

The basic multithreading interface. More...

#include <Threadable.hpp>

Inheritance diagram for CYB::API::Threadable:
Inheritance graph
[legend]

Public Member Functions

virtual void BeginThreadedOperation (void)=0
 Called at the start of a threading operation in a new thread by the internal thread manager at most once. Should not be called by unit. More...
 
virtual void CancelThreadedOperation (void)=0
 Called by the internal thread manager to request cancellation of a thread at most once. When called the Threadable should do it's best to immediately return from BeginThreadedOperation. Should not be called by unit. More...
 

Detailed Description

The basic multithreading interface.

Definition at line 6 of file Threadable.hpp.

Member Function Documentation

virtual void CYB::API::Threadable::BeginThreadedOperation ( void  )
pure virtual

Called at the start of a threading operation in a new thread by the internal thread manager at most once. Should not be called by unit.

Calling Thread
This function will be called by the engine in what should be considered a new thread, however it may be running in the ThreadPool depending on the calling context
Attention
This function will have exceptions throw from it logged at the WARN level and then ignored

Implemented in CYB::Engine::Logger, and CYB::API::ThreadableTaskset.

virtual void CYB::API::Threadable::CancelThreadedOperation ( void  )
pure virtual

Called by the internal thread manager to request cancellation of a thread at most once. When called the Threadable should do it's best to immediately return from BeginThreadedOperation. Should not be called by unit.

Calling Thread
This function may be called by the engine in any thread at any time during the object's lifetime
Attention
This function will have exceptions throw from it logged at the WARN level and then ignored

Implemented in CYB::Engine::Logger, and CYB::API::ThreadableTaskset.


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