linux C线程
- 一個應用程序可以啟動若干個線程;
- 線程,是程序執行的最小單位;
- 一般一個最簡單的程序最少有一個線程,就是程序本身,也是主函數;
- 一個線程阻塞不會影響另一個線程;
- 多線程的進程可以盡可能多的利用系統CPU資源。
Attention:編譯時需要加上-lpthread來連接libpthread.so動態庫,否則會報錯。
Int pthread_create(pthread_t *thread,const pthread_attr_t *attr,void*(*start_routine)(void*),void *arg);函數參數:
pthread_t 代表創建線程的唯一標識,是一個結構體,需要創建好以后將結構體的指針傳遞過去;
pthread_attr_t:代表創建這個線程的一些配置,比如分配棧的大小,一般設置位NULL,表示默認的創建線程的配置;
start_routine:代表一個函數的地址,創建線程時,會調用這個函數,函數的返回值時void*,函數的參數也是void*;
arg:代表調用第三個函數傳遞的參數。
函數的返回值:
函數成功返回0,不等于0表示函數調用失敗,此時可以通過strerror(error)可以打印出具體的錯誤。
ATTENTION:每個函數都有一份errno副本,不同的線程擁有不同的errno
轉載于:https://www.cnblogs.com/wanghao-boke/p/11251709.html
總結
- 上一篇: vue 如何在每次进入home的时候显示
- 下一篇: 成都欢乐谷士官证免票吗