78 virtual void run() = 0;
133 static void launch (std::function<
void()> functionToRun);
235 bool setPriority (
int priority);
244 static bool setCurrentThreadPriority (
int priority);
254 void setAffinityMask (
uint32 affinityMask);
289 bool wait (
int timeOutMilliseconds)
const;
341 #if JUCE_ANDROID || DOXYGEN
380 static void initialiseJUCE (
void* jniEnv,
void* jContext);
398 bool isAndroidRealtimeThread =
false;
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_CriticalSection.h:43
Definition juce_ListenerList.h:70
Definition juce_String.h:53
Definition juce_Thread.h:181
virtual void exitSignalSent()=0
virtual ~Listener()=default
size_t threadStackSize
Definition juce_Thread.h:391
void * ThreadID
Definition juce_Thread.h:304
static Thread *JUCE_CALLTYPE getCurrentThread()
Definition juce_Thread.cpp:160
Atomic< void * > threadHandle
Definition juce_Thread.h:386
void startThread()
Definition juce_Thread.cpp:122
void launchThread()
Definition juce_posix_SharedCode.h:918
CriticalSection startStopLock
Definition juce_Thread.h:388
ListenerList< Listener, Array< Listener *, CriticalSection > > listeners
Definition juce_Thread.h:395
void threadEntryPoint()
Definition juce_Thread.cpp:79
ThreadID getThreadId() const noexcept
Definition juce_Thread.cpp:165
bool waitForThreadToExit(int timeOutMilliseconds) const
Definition juce_Thread.cpp:190
@ realtimeAudioPriority
Definition juce_Thread.h:224
Thread(const String &threadName, size_t threadStackSize=0)
Definition juce_Thread.cpp:26
static bool currentThreadShouldExit()
Definition juce_Thread.cpp:182
bool threadShouldExit() const
Definition juce_Thread.cpp:177
bool deleteOnThreadEnd
Definition juce_Thread.h:393
void killThread()
Definition juce_posix_SharedCode.h:963
WaitableEvent defaultEvent
Definition juce_Thread.h:389
static ThreadID JUCE_CALLTYPE getCurrentThreadId()
Definition juce_posix_SharedCode.h:1028
WaitableEvent startSuspensionEvent
Definition juce_Thread.h:389
const String & getThreadName() const noexcept
Definition juce_Thread.h:333
static bool setThreadPriority(void *, int)
Definition juce_posix_SharedCode.h:993
bool stopThread(int timeOutMilliseconds)
Definition juce_Thread.cpp:208
void addListener(Listener *)
Definition juce_Thread.cpp:242
static int getAdjustedPriority(int)
Definition juce_Thread.cpp:293
friend void JUCE_API juce_threadEntryPoint(void *)
Definition juce_Thread.cpp:116
Atomic< int32 > shouldExit
Definition juce_Thread.h:394
void signalThreadShouldExit()
Definition juce_Thread.cpp:171
Atomic< ThreadID > threadId
Definition juce_Thread.h:387
void closeThreadHandle()
Definition juce_posix_SharedCode.h:957
int threadPriority
Definition juce_Thread.h:390
bool isThreadRunning() const
Definition juce_Thread.cpp:155
uint32 affinityMask
Definition juce_Thread.h:392
const String threadName
Definition juce_Thread.h:385
void removeListener(Listener *)
Definition juce_Thread.cpp:247
static void launch(std::function< void()> functionToRun)
Definition juce_Thread.cpp:325
Definition juce_WaitableEvent.h:36
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
unsigned int uint32
Definition juce_MathsFunctions.h:45
Definition juce_Atomic.h:42
#define const
Definition zconf.h:137