#include <Thread.hpp>
Inheritance diagram for corelinux::Thread
Public Methods | |
Thread ( void ) throw ( Assertion ) | |
Default constructor. | |
virtual | ~Thread ( void ) |
Virtual destructor. | |
Static Public Methods | |
Int | getKernelError ( void ) |
getKernelError returns the thread instance errno for the last kernel call the thread made. More... | |
ThreadIdentifier | getThreadIdentifier ( void ) |
getThreadIdentifier retrieves the kernel process id for the caller thread. More... | |
ThreadIdentifier | getParentThreadIdentifier ( void ) |
getParentThreadIdentifier retrieves the parent thread of the current thread. More... | |
ThreadIdentifierCref | getThreadManagerIdentifier ( void ) |
getThreadManagerIdentifier retrieves the thread that Thread was instantiated from. More... | |
ThreadContextCref | getThreadContext ( ThreadIdentifierCref ) throw ( InvalidThreadException ) |
Retrieve a ThreadContext given a identifier. More... | |
Count | getActiveThreadCount ( void ) |
Retrieve the number of threads that are starting or running. More... | |
Count | getCompletedThreadCount ( void ) |
Retrieve the number of threads that are not starting or running or waiting to run. More... | |
void | dump ( void ) |
Debugging method for the moment. | |
ThreadIdentifier | startThread ( ThreadContextRef ) |
Start a thread as described by the context. More... | |
Int | waitForThread ( ThreadIdentifierCref ) throw ( InvalidThreadException ) |
Blocks the caller until the thread has ended execution, retrieving the return code from the associated thread context. More... | |
void | destroyThreadContext ( ThreadIdentifierCref ) throw ( InvalidThreadException, Assertion ) |
Destroys the managed context for the given identifier. More... | |
Protected Methods | |
Thread ( ThreadCref ) throw ( Assertion ) | |
Copy constructor won't do, its a singleton. More... | |
ThreadRef | operator= ( ThreadCref ) throw ( Assertion ) |
Assignment operator won't do, we should never get here anyway but the compiler will generate the missing method. More... | |
bool | operator== ( ThreadCref ) const throw ( Assertion ) |
Equality operator not valid for class utility. More... | |
Static Protected Methods | |
void | threadTerminated ( Int, VoidPtr, VoidPtr ) |
Static Protected Attributes | |
ThreadManager | theThreadManager |
The singleton instance of Thread for synchronization. |
It accomplishes this by allowing the caller to setup a context for execution and calling their defined entry point. There is still much work to be done such as:
|
Copy constructor won't do, its a singleton.
|
|
Destroys the managed context for the given identifier.
|
|
Retrieve the number of threads that are starting or running.
|
|
Retrieve the number of threads that are not starting or running or waiting to run.
|
|
getKernelError returns the thread instance errno for the last kernel call the thread made.
|
|
getParentThreadIdentifier retrieves the parent thread of the current thread.
|
|
Retrieve a ThreadContext given a identifier.
|
|
getThreadIdentifier retrieves the kernel process id for the caller thread.
|
|
getThreadManagerIdentifier retrieves the thread that Thread was instantiated from.
|
|
Assignment operator won't do, we should never get here anyway but the compiler will generate the missing method.
|
|
Equality operator not valid for class utility.
|
|
Start a thread as described by the context.
|
|
Blocks the caller until the thread has ended execution, retrieving the return code from the associated thread context.
|