linux/unix中設定執行緒優先順序
在linux下我們可以透過 #include #include #include #include using namespace std; static int get_thread_policy( pthread_attr_t &attr ) { int policy; int rs = pthread_attr_getschedpolicy( &attr, &policy ); assert( rs == 0 ); switch ( policy ) { case SCHED_FIFO: cout << "policy = SCHED_FIFO" << endl; break; case SCHED_RR: cout << "policy = SCHED_RR" << endl; break; case SCHED_OTHER: cout << "policy = SCHED_OTHER" << endl; break; default: cout << "policy = UNKNOWN" << endl; break; } return policy; } static void show_thread_priority( pthread_attr_t &attr, int policy ) { int priority = sched_get_priority_max( policy ); assert( priority != -1 ); cout << "max_priority = " << priority << endl; priority = sched_get_priority_min( policy ); assert( priority != -1 ); cout << "min_priority = " << priority << endl; } static int get_thread_priority( pthread_attr_t &attr ) { struct sched_param param; int rs = pthread_attr_getschedparam( &attr, ¶m ); assert( rs == 0 ); cout << "priority = " << param.__sched_priority << endl; return param.__sched_priority; } static void set_thread_policy( pthread_attr_t &attr, int policy ) { int rs = pthread_attr_setschedpolicy( &attr, policy ); assert( rs == 0 ); get_thread_policy( attr ); } int main( void ) { pthread_attr_t attr; struct sched_param sched; int rs; rs = pthread_attr_init( &attr ); assert( rs == 0 ); int policy = get_thread_policy( attr ); cout << "Show current configuration of priority" << endl; show_thread_priority( attr, policy ); cout << "Show SCHED_FIFO of priority" << endl; show_thread_priority( attr, SCHED_FIFO ); cout << "Show SCHED_RR of priority" << endl; show_thread_priority( attr, SCHED_RR ); cout << "Show priority of current thread" << endl; int priority = get_thread_priority( attr ); cout << "Set thread policy" << endl; cout << "Set SCHED_FIFO policy" << endl; set_thread_policy( attr, SCHED_FIFO ); cout << "Set SCHED_RR policy" << endl; set_thread_policy( attr, SCHED_RR ); cout << "Restore current policy" << endl; set_thread_policy( attr, policy ); rs = pthread_attr_destroy( &attr ); assert( rs == 0 ); return 0; }
|
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24790158/viewspace-1041371/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux排程策略及執行緒優先順序設定Linux執行緒
- java執行緒優先順序Java執行緒
- 多執行緒-執行緒排程及獲取和設定執行緒優先順序執行緒
- 警惕執行緒的優先順序執行緒
- Java之執行緒的優先順序Java執行緒
- 多優先順序執行緒池實踐執行緒
- java基礎:執行緒方法之設定優先順序Java執行緒
- 程式設計思想之多執行緒與多程式(2):執行緒優先順序與執行緒安全程式設計執行緒
- Java 多執行緒基礎(十一)執行緒優先順序和守護執行緒Java執行緒
- 【java】【多執行緒】睡眠/守護/加入/禮讓執行緒,執行緒優先順序(4)Java執行緒
- linux中設定程式排程的優先順序別Linux
- java setPriority()設定優先順序Java
- Python3 執行緒優先順序佇列( Queue)Python執行緒佇列
- 從Java到JVM到OS執行緒的優先順序JavaJVM執行緒
- win10怎麼設定優先順序 win10如何設定程式程式優先順序Win10
- Linux基礎命令---設定程式優先順序niceLinux
- 破除java神話之執行緒按優先順序喚醒Java執行緒
- 中斷優先順序
- Linux c多執行緒執行順序Linux執行緒
- 設定全域性死鎖優先順序
- Swift多執行緒之Operation:按優先順序載入圖片Swift執行緒
- Java中如何保證執行緒順序執行Java執行緒
- Linux執行時動態庫搜尋路徑優先順序Linux
- win10如何設定優先程式_win10怎麼設定程式優先順序Win10
- CSS優先順序CSS
- 執行緒執行順序——CountDownLatch、CyclicBarrier 、join()、執行緒池執行緒CountDownLatch
- Linux排程器:程序優先順序Linux
- Oracle RAC引數設定優先順序別問題分析Oracle
- python運算子及優先順序順序Python
- css樣式分類、定義、優先順序CSS
- Oracle確定連線方式的優先順序Oracle
- Nachos實驗實現執行緒id、限制執行緒數和更改排程演算法(按優先順序排程)執行緒演算法
- Nginx location 在配置中的優先順序Nginx
- kafka多執行緒順序消費Kafka執行緒
- 使用360安全衛士設定軟體優先順序的方法
- Android程式優先順序Android
- SQL 優先順序join>whereSQL
- java運算子優先順序Java