六十六. 執行緒的概念
所以執行緒之間通訊,不可以用區域性變數(因為區域性變數在棧裡)
這裡的命令可以知道,各部分大小
六十七. pthread_create執行緒建立函式
arg是執行緒處理函式的引數的內容
寫乙個pthread_create.c
#include #include #include #include #include #include #include //這裡是執行緒對應的標頭檔案
void* myfunc(void* arg)
int main(int argc, const char* argv)
printf("parent pthread id: %lu\n", pthread_self());
//這裡sleep是因為,父執行緒和子執行緒也會競爭cpu。
//如果父執行緒先結束,那麼則整個程式釋放,子執行緒來不及執行,就結束了
sleep(1);
return 0;
}
執行一下
[root@vm_0_15_centos 8day]# gcc pthread_create.c -lpthread
[root@vm_0_15_centos 8day]# ls
a.out process_r.c pthread_create.c pthread_uncle.c
deamon.c process_work.c pthread_exit.c setsid.c
loop_pthread_create.c pthread_attr.c pthread_join.c
[root@vm_0_15_centos 8day]# ./a.out
parent pthread id: 140423590418240
child pthread id: 140423582037760
六十八. 迴圈建立多個子執行緒和注意事項
這裡寫乙個loop_pthread_create.c
#include #include #include #include #include #include #include void* myfunc(void* arg)
int main(int argc, const char* argv)
}printf("parent pthread id: %lu\n", pthread_self());
sleep(1);
return 0;
}
如果程式裡,在pthread_create那裡第4個引數,是(void*)&i,那麼將會導致問題,原因是
所以那裡需要改為傳值。
執行結果
六十九. 複習
七十. 執行緒函式列印錯誤資訊
這裡寫乙個pthread_create.c
#include #include #include #include #include #include #include //這裡是執行緒對應的標頭檔案
void* myfunc(void* arg)
int main(int argc, const char* argv)
printf("parent pthread id: %lu\n", pthread_self());
//這裡sleep是因為,父執行緒和子執行緒也會競爭cpu。
//如果父執行緒先結束,那麼則整個程式釋放,子執行緒來不及執行,就結束了
sleep(1);
return 0;
}
linux系統程式設計學習筆記
關閉檔案 linux命令列引數解析 int creat const char filename,mode t mode mode指定新建檔案的訪問許可權 return 檔案描述符fd open const char pathname,o create,mode t mode 第二個引數flags為o...
黑馬《linux系統程式設計》學習筆記(從31到35)
三十一.複習檔案描述符重定向 在下面的圖中,dup2 fd 1 1 這裡的1號檔案描述符,跟隨老的fd 1 由於這裡1號檔案描述符,已經有指向,於是原指向關係撤銷,1重新建立指向,並指向fd 1 所在。接下來,grep bash 這裡是從0號檔案描述符,即stdin fileno中讀取內容,本來st...
Linux學習過程筆記 系統程式設計
0.系統程式設計所學到的命令是應用在notepad 中的,之前那學的linux命令列是在控制終端裡除錯用的。1.製作最小linux映象太麻煩以後學習。3.用u盤除錯程式。1.在root home 新建linuxsystemcode 新建功能名資料夾。2.連好超級終端,新建.c檔案,用notepad ...