2 簡單的多執行緒程式設計
linux系統下的多執行緒遵循posix執行緒介面,稱為pthread。編寫linux下的多執行緒程式,需要使用標頭檔案pthread.h,連線時需要使用庫libpthread.a。順便說一下,linux下pthread的實現是通過系統呼叫clone()來實現的。clone()是linux所特有的系統呼叫,它的使用方式類似fork,關於clone()的詳細情況,有興趣的讀者可以去檢視有關文件說明。下面我們展示乙個最簡單的多執行緒程式example1.c。
/* example.c*/
#include
#include
#include
void thread(void)
int i;
for(i=0;i<3;i++)
printf("this is a pthread.\n");
int main(void)
pthread_t id;
int i,ret;
ret=pthread_create(&id,null,(void *) thread,null);
if(ret!=0) 我們編譯此程式: gcc example1.c -lpthread -o example1 執行example1,
我們得到如下結果:
this is the main process.
this is a pthread.
this is the main process.
this is the main process.
this is a pthread.
this is a pthread.
再次執行,我們可能得到如下結果:
this is a pthread.
this is the main process.
this is a pthread. this is the main process.
this is a pthread. this is the main process.
02基於linux的執行緒池設計
author power date 2020 02 02 13 43 24 lastedittime 2020 02 02 15 48 31 lasteditors please set lasteditors description in user settings edit filepath t...
Linux應用程式設計 多執行緒
執行緒優點是執行緒的上下文切換的開銷比建立程序小很多。在 linux 中,一般 pthread 執行緒庫是一套通用的執行緒庫,是由 posix 提出的,因此具有很好的可移植性。pthread create pthread exit pthread join pthread cancel pthrea...
監控執行緒設計
目的 監控服務中各執行緒的執行狀態,防止因為死鎖或其它原因導致某些執行緒不工作,而導致業務不正常 方法 開啟1個daemon執行緒,用於檢測各執行緒的執行狀態 第1步 業務執行緒啟動時,向daemon執行緒註冊 第2步 每隔1段時間,業務執行緒向daemon執行緒傳送心跳訊息 第3步 daemon執...