今天剛學的,linux多執行緒程式設計

2021-06-08 04:00:57 字數 828 閱讀 3238

今天學的是多執行緒程式設計,下面是乙個典型的例子。

學的東西時間久了總會忘,寫下來是最好的辦法,以後一看就記起來了!

程式的實現是寫入資料到buf中,然後在終端顯示,直到輸入exit退出為止。

#include #include #include #define bufsize 128

pthread_mutex_t mutex;

pthread_cond_t cond;

char buf[bufsize];

int buf_has_data = 0;

void *read(void *arg)

printf("[%s] in the buffer\n",buf);

buf_has_data = 0;

pthread_cond_signal(&cond);//喚醒write執行緒,並把write執行緒中的資料鎖鎖上

pthread_mutex_unlock(&mutex);

}while(strcmp(buf,"exit") != 0);

}void *write(void *arg)

printf("input:");

gets(buf);

buf_has_data = 1;

pthread_cond_signal(&cond);//喚醒read執行緒,並把read執行緒中的資料鎖鎖上

pthread_mutex_unlock(&mutex);

}while(strcmp(buf,"exit") != 0); }

int main()

Linux 多執行緒程式設計

1.建立執行緒和退出的函式原型 int pthread create pthread t thread,pthread attr t attr,void start routine void void arg pthread exit 0 其他還有很多相關的函式。2.編譯時要加上 lpthread ...

Linux多執行緒程式設計

linux 多執行緒程式設計 多執行緒支援 posix 執行緒介面,稱為 pthread,pthread create 用來建立執行緒,pthread join 等待執行緒結束,函式的原型分別如下 extern int pthread create p pthread t thread,const ...

linux 多執行緒程式設計

多執行緒的使用 典型的執行緒包括乙個執行時間系統,它可以按透明的方式來管理執行緒。通常執行緒包包括對執行緒的建立和刪除,以及對互斥和條件變數的呼叫。posix標準執行緒庫具有這些呼叫。這些包還提供執行緒的動態建立和刪除,因此,直到執行時間之前,執行緒的個數不必知道。執行緒具有乙個id 乙個堆疊 乙個...