Linux多執行緒的乙個小例子

2021-09-09 03:04:55 字數 1223 閱讀 2742

#include #include #include #include #define max_count 9

pthread_mutex_t mutex; //互斥變數

pthread_cond_t cond; //條件變數

int count = 0;

void addcount_odd_func(void);

void addcount_even_func(void);

int main()

pthread_attr_setdetachstate(&thread_attr, pthread_create_detached); //設定執行緒分離狀態的函式,pthread_create_detached(分離執行緒):不需要建立執行緒的執行緒等待

//函式執行結束執行緒便終止,同時釋放占用的系統資源

ret = pthread_create(&odd_thread, &thread_attr, (void *)&addcount_odd_func, null);

if (ret != 0)

ret = pthread_create(&even_thread, &thread_attr, (void *)&addcount_even_func, null);

if (ret != 0)

while (count < max_count);

printf("finished!\n");

pthread_cond_destroy(&cond); //銷毀條件變數

pthread_mutex_destroy(&mutex);

return 0;

}void addcount_odd_func(void)

else

pthread_cond_wait(&cond, &mutex); //使執行緒阻塞在條件變數cond上

} pthread_mutex_unlock(&mutex);

}void addcount_even_func(void)

else

pthread_cond_wait(&cond, &mutex);

} pthread_mutex_unlock(&mutex);

}

gcc example.c -lpthread

執行結果如下:

乙個多執行緒的小例子 C 高階程式設計學習

c 高階程式設計學習時的小例子 public void main for int i 0 i threadcount i console.writeline all threads finished public void threadmain object o locks the semaphor...

關於多執行緒中巢狀鎖的乙個小例子

最近朋友建議我寫一些關於微軟雲技術的部落格留給學校下一屆的學生們看,怕下一屆的mstc斷檔。於是我也覺的有這個必要。寫了幾篇部落格之後,我覺得也有必要把這一年的學習內容放在部落格做個紀念,就這樣寫了本篇部落格。using system using system.collections.generic...

多執行緒 小例子

1 執行緒小例子 失去一日甚易,欲得回已無途!2016 11 17下午1 43 51 程序 可以包含乙個或者多個執行緒!cpu上 真正 執行的 是 執行緒!實現多執行緒的方法 01.繼承thread類 重寫run 02.實現runnable介面 重寫run 多執行緒 在單個程式中,同時執行多個執行緒...