JUCE
|
A thread that keeps a list of clients, and calls each one in turn, giving them all a chance to run some sort of short task. More...
Public Member Functions | |
TimeSliceThread (const String &threadName) | |
Creates a TimeSliceThread. More... | |
~TimeSliceThread () | |
Destructor. More... | |
void | addTimeSliceClient (TimeSliceClient *client, int millisecondsBeforeStarting=0) |
Adds a client to the list. More... | |
void | removeTimeSliceClient (TimeSliceClient *client) |
Removes a client from the list. More... | |
void | moveToFrontOfQueue (TimeSliceClient *client) |
If the given client is waiting in the queue, it will be moved to the front and given a time-slice as soon as possible. More... | |
int | getNumClients () const |
Returns the number of registered clients. More... | |
TimeSliceClient * | getClient (int index) const |
Returns one of the registered clients. More... | |
![]() | |
Thread (const String &threadName, size_t threadStackSize=0) | |
Creates a thread. More... | |
virtual | ~Thread () |
Destructor. More... | |
virtual void | run ()=0 |
Must be implemented to perform the thread's actual code. More... | |
void | startThread () |
Starts the thread running. More... | |
void | startThread (int priority) |
Starts the thread with a given priority. More... | |
bool | stopThread (int timeOutMilliseconds) |
Attempts to stop the thread running. More... | |
bool | isThreadRunning () const |
Returns true if the thread is currently active. More... | |
void | signalThreadShouldExit () |
Sets a flag to tell the thread it should stop. More... | |
bool | threadShouldExit () const |
Checks whether the thread has been told to stop running. More... | |
bool | waitForThreadToExit (int timeOutMilliseconds) const |
Waits for the thread to stop. More... | |
bool | setPriority (int priority) |
Changes the thread's priority. More... | |
void | setAffinityMask (uint32 affinityMask) |
Sets the affinity mask for the thread. More... | |
bool | wait (int timeOutMilliseconds) const |
Makes the thread wait for a notification. More... | |
void | notify () const |
Wakes up the thread. More... | |
ThreadID | getThreadId () const noexcept |
Returns the ID of this thread. More... | |
const String & | getThreadName () const |
Returns the name of the thread. More... | |
Additional Inherited Members | |
![]() | |
typedef void * | ThreadID |
A value type used for thread IDs. More... | |
![]() | |
static bool | currentThreadShouldExit () |
Checks whether the current thread has been told to stop running. More... | |
static bool | setCurrentThreadPriority (int priority) |
Changes the priority of the caller thread. More... | |
static void JUCE_CALLTYPE | setCurrentThreadAffinityMask (uint32 affinityMask) |
Changes the affinity mask for the caller thread. More... | |
static void JUCE_CALLTYPE | sleep (int milliseconds) |
static void JUCE_CALLTYPE | yield () |
Yields the calling thread's current time-slot. More... | |
static ThreadID JUCE_CALLTYPE | getCurrentThreadId () |
Returns an id that identifies the caller thread. More... | |
static Thread *JUCE_CALLTYPE | getCurrentThread () |
Finds the thread object that is currently running. More... | |
static void JUCE_CALLTYPE | setCurrentThreadName (const String &newThreadName) |
Changes the name of the caller thread. More... | |
A thread that keeps a list of clients, and calls each one in turn, giving them all a chance to run some sort of short task.
|
explicit |
Creates a TimeSliceThread.
When first created, the thread is not running. Use the startThread() method to start it.
TimeSliceThread::~TimeSliceThread | ( | ) |
Destructor.
Deleting a Thread object that is running will only give the thread a brief opportunity to stop itself cleanly, so it's recommended that you should always call stopThread() with a decent timeout before deleting, to avoid the thread being forcibly killed (which is a Bad Thing).
void TimeSliceThread::addTimeSliceClient | ( | TimeSliceClient * | client, |
int | millisecondsBeforeStarting = 0 |
||
) |
Adds a client to the list.
The client's callbacks will start after the number of milliseconds specified by millisecondsBeforeStarting (and this may happen before this method has returned).
void TimeSliceThread::removeTimeSliceClient | ( | TimeSliceClient * | client | ) |
Removes a client from the list.
This method will make sure that all callbacks to the client have completely finished before the method returns.
void TimeSliceThread::moveToFrontOfQueue | ( | TimeSliceClient * | client | ) |
If the given client is waiting in the queue, it will be moved to the front and given a time-slice as soon as possible.
If the specified client has not been added, nothing will happen.
int TimeSliceThread::getNumClients | ( | ) | const |
Returns the number of registered clients.
TimeSliceClient* TimeSliceThread::getClient | ( | int | index | ) | const |
Returns one of the registered clients.