ImFusion SDK 4.3
ImFusion::Threading Namespace Reference

Utility classes for multi-threading. More...

Detailed Description

Utility classes for multi-threading.

See also
ImFusionCoreThreading

Classes

class  PlaybackTimer
 Recurring timer class that allows for playback over a range at given timestamps/intervals. More...
 
class  StoppableThread
 Extension of a std::thread to allow for signalling the thread to abort its execution. More...
 
class  ThreadPool
 Lightweight implementation of a thread pool for distributing work onto a fixed number of threads. More...
 

Enumerations

enum class  Priority {
  Idle , Lowest , Low , Normal ,
  High , Highest , Critical
}
 Enumeration of thread priority levels. More...
 

Functions

void setCurrentThreadName (const std::string &threadName)
 Sets the current thread's name to the given string so that a debugger may show it as description.
 
std::optional< PrioritycurrentThreadPriority ()
 Queries the current thread's priority from the operating system or std::nullopt if an error occurred.
 
bool setCurrentThreadPriority (Priority priority)
 Sets the current thread's priority to the given value.
 
void runAsyncAndForget (std::function< void()> func)
 Launches the given function in a background thread using std::thread This function will return immediately and there is no built-in way to know when func has completed.
 

Enumeration Type Documentation

◆ Priority

enum class Priority
strong

Enumeration of thread priority levels.

Note
Not all operating systems support all priority levels:
Enumerator
Idle 

scheduled as rarely as possible

Lowest 

scheduled less often than Low

Low 

scheduled less often than Normal

Normal 

default priority of the operating system.

High 

scheduled more often than Normal.

Highest 

scheduled more often than High.

Critical 

scheduled as often as possible.

Search Tab / S to search, Esc to close