|
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 () override | |
| Destructor. More... | |
| void | addTimeSliceClient (TimeSliceClient *clientToAdd, int millisecondsBeforeStarting=0) |
| Adds a client to the list. More... | |
| void | moveToFrontOfQueue (TimeSliceClient *clientToMove) |
| 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... | |
| void | removeTimeSliceClient (TimeSliceClient *clientToRemove) |
| Removes a client from the list. More... | |
| void | removeAllClients () |
| Removes all the active and pending clients from the list. More... | |
| int | getNumClients () const |
| Returns the number of registered clients. More... | |
| TimeSliceClient * | getClient (int index) const |
| Returns one of the registered clients. More... | |
Public Member Functions inherited from Thread | |
| 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... | |
| void | addListener (Listener *) |
| Add a listener to this thread which will receive a callback when signalThreadShouldExit was called on this thread. More... | |
| void | removeListener (Listener *) |
| Removes a listener added with addListener. 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 |
| Suspends the execution of this thread until either the specified timeout period has elapsed, or another thread calls the notify() method to wake it up. More... | |
| void | notify () const |
| Wakes up the thread. More... | |
| ThreadID | getThreadId () const noexcept |
| Returns the ID of this thread. More... | |
| const String & | getThreadName () const noexcept |
| Returns the name of the thread. More... | |
Additional Inherited Members | |
Public Types inherited from Thread | |
| enum | { realtimeAudioPriority = -1 } |
| Special realtime audio thread priority. More... | |
| using | ThreadID = void * |
| A value type used for thread IDs. More... | |
Static Public Member Functions inherited from Thread | |
| static void | launch (std::function< void()> functionToRun) |
| Invokes a lambda or function on its own thread. 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) |
| Suspends the execution of the current thread until the specified timeout period has elapsed (note that this may not be exact). More... | |
| static void JUCE_CALLTYPE | yield () |
| Yields the current thread's CPU time-slot and allows a new thread to run. 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... | |
| static void | initialiseJUCE (void *jniEnv, void *jContext) |
| Initialises the JUCE subsystem for projects not created by the Projucer. 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.
|
override |
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 * | clientToAdd, |
| 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::moveToFrontOfQueue | ( | TimeSliceClient * | clientToMove | ) |
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.
| void TimeSliceThread::removeTimeSliceClient | ( | TimeSliceClient * | clientToRemove | ) |
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::removeAllClients | ( | ) |
Removes all the active and pending clients from the list.
This method will make sure that all callbacks to clients have finished before the method returns.
| int TimeSliceThread::getNumClients | ( | ) | const |
Returns the number of registered clients.
| TimeSliceClient* TimeSliceThread::getClient | ( | int | index | ) | const |
Returns one of the registered clients.
1.8.13