執行緒屬性 實時排程

2021-07-10 11:14:30 字數 1818 閱讀 3721

1.pthread_attr_init(pthread_attr_t attr)和pthread_attr_destroy(pthread_attr_t attr)函式.pthread_attr_setdetachstate(pthread_attr_t  attr,int detachstate);pthread_attr_setdetachstate(pthread_attr_t attr, int *detachstate);

標頭檔案:#include原型:int pthread_attr_init(pthread_attr_t *attr); int pthread_attr_destroy(pthread_attr_t  *attr); pthread_attr_init函式的作用初始化乙個執行緒物件的屬性,需要用pthread_attr_destroy函式對其去除初始化. 函式返回值:返回0,表示函式初始化物件成功,失敗返回錯誤**. 引數說明:指向乙個執行緒屬性結構的指標,結構中的元素分別對應著新執行緒的執行屬性。屬性物件主要包括是否繫結、是否分離、堆疊位址和大小、優先順序等。預設屬性為非繫結、非分離、預設1mb堆疊、與父程序有相同優先順序。 建立乙個脫離執行緒:  

#include #include #include #include const char message="hello,linux";

int thread_finished=0;

void my_err(const char *err_string,int line)

void thread_function(void *arg)

int main(int argc,char *argv)

ret=pthread_attr_setdetachstate(&attr,pthread_create_detached);

if(ret!=0)

ret=pthread_create(&thid,&attr,(void *)&thread_function,(void *)message);

if(ret!=0)

pthread_attr_destroy(&attr); //銷毀執行緒屬性結構,它在重新初始化之前不能重新使用

while(!thread_finished)

printf("其它執行緒結束!\n");

return 0;

}

結果:

yang@liu:~/syc/第八章$ ./pthreadgetsetduoli 

主線程等待其它執行緒結束!

我是新執行緒,id = 3437819648,argument is:hello,linux

主線程等待其它執行緒結束!

主線程等待其它執行緒結束!

新執行緒結束!

其它執行緒結束!

2.int pthread_attr_getschedpolicy(pthread_attr_t *attr,int *policy)和int pthread_attr_setschedpolicy(pthread_attr_t *attr,int policy); 

函式pthread_attr_setschedpolicy和pthread_attr_getschedpolicy分別用來設定和得到執行緒的排程策略。 3, int pthread_attr_getschedparam(const pthread_attr_t *attr,struct sched_param *param); int pthread_attr_setschedparam(pthread_attr_t *attr,const struct sched_param *param); int sched_get_priority_max(int policy); int sched_get_priority_min(int policy);  

3 3 實時排程

1.實時系統 指系統能夠在限定的響應時間內提供所需水平的服務。指計算的正確性不僅取決於程式的邏輯正確性,也取決於結果產生的時間,如果系統的時間約束條件得不到滿足,將會發生系統錯誤。實時任務 具有明確時間約束的計算任務,有軟 硬,隨機 週期性之分。2.實現實時排程的基本條件 3.常用的幾種實時排程演算...

實時排程類

按照posix標準的強制要求,除了 普通 程序之外,linux還支援兩種實時排程類。排程器結構使得實時程序可以平滑地整合到核心中,而無需修改核心排程器,這顯然是排程類帶來的好處。現在比較適合於回想一些很久以前討論過的事實。實時程序的特點在於其優先順序比普通程序高,對應地,其static prio值總...

實時系統與實時排程

一些概念 計算結果存在時效性,過期無意義,如新聞 2.11.1 實時任務分類 按有無截止時間 按有無週期 2.11.2 實時os特點 2.11.3 實時排程 靜態表排程 輸入週期性到達時間 執行時間 週期性的最後結束期限和每個任務的相對優先順序,輸出排程表,用於排程實時任務 靜態優先順序搶占排程 根...