今天接觸了c語言中的多執行緒,在這裡記錄一下
第一步:
引入標頭檔案pthread.h
#include
第二步:
運用函式:
pthread_t:建立執行緒控制代碼
pthread_create():建立執行緒 引數:第乙個引數執行緒控制代碼、 第二個引數null就行 、第三個引數是函式名型別(void*) 、第四個引數是函式的引數。
pthread_eixt():結束執行緒:引數是0
pthread_join():阻塞式掛起程序:引數是執行緒控制代碼
pthread_mutex_t :互斥鎖 :建立互斥鎖控制代碼
pthread_mutex_init():開啟互斥鎖:第乙個引數是互斥鎖控制代碼、第二個引數是null。
pthread_mutex_destroy():關閉互斥鎖:引數是互斥鎖控制代碼
例如:
#include#include#include
pthread_mutex_t mute;
void* func_scan(void*num)
printf(
"func_scan out\n");
pthread_exit(0);
};int
main()
; pthread_join(scan_thread, null);
pthread_mutex_destroy(&mute);
printf(
"%s\n
", "
hello word!!");
fflush(stdout);
return0;
};
解釋:例子是開啟乙個執行緒執行函式func_scan。
多執行緒之知識點
多執行緒的學習 1.都不是原子操作,在多執行緒中值可能被改變 因此在多執行緒環境中對乙個變數進行讀寫時,我們需要有一種方法能夠保證對乙個值的遞增操作是原子操作 即不可打斷性,乙個執行緒在執行原子操作時,其它執行緒必須等待它完成之後才能開始執行該原子操作。這種涉及到硬體的操作會不會很複雜了,幸運的是,...
多執行緒知識點總結
多執行緒的問題主要圍繞3個問題處理 1.原子性,2.可見性,3.有序性 1.原子性,不可被其他執行緒打斷的操作。如read.write sychronized 2.可見性 一條執行緒修改了某值,新值對其他執行緒立即可知 普通變數是通過主記憶體完成多執行緒的共享,因此在多執行緒的情況下,很多髒資料。v...
多執行緒 知識點集合
執行緒常用方法 new 新建狀態 runnable 執行 可執行 狀態 blocked 阻塞狀態 timed waiting 休眠狀態 waiting 等待狀態 terminated 終止狀態 threadstate類 public class threadstate implements runn...