PCL
pcl::ThreadPriority Namespace Reference

Thread scheduling priorities. More...

Detailed Description

ThreadPriority::Inherit Inherit the caller's thread priority. This is the default value.
ThreadPriority::Idle Schedule when no other threads are busy.
ThreadPriority::Lowest Schedule more often than idle priority, but less than low priority.
ThreadPriority::Low Schedule more often than lowest priority, but less than normal priority.
ThreadPriority::Normal Standard thread priority.
ThreadPriority::High Schedule more often than normal priority, but less than highest priority.
ThreadPriority::Highest Schedule more often than high priority, but less than time-critical priority.
ThreadPriority::TimeCritical Schedule as often as possible, taking precedence over any other threads.
ThreadPriority::DefaultMax Default maximum priority. This is a platform-dependent, maximum thread priority recommended for processing modules.

Note that not all platforms and operating systems handle thread scheduling priorities in the same way. In general, modules should use the default maximum thread priority by specifying ThreadPriority::DefaultMax instead of hard-coded priority values. Time-critical priority should be reserved for performance-critical, very brief and fast tasks exclusively, and should only be used when it is really necessary. This is particularly important on Windows platforms.