c 語言執行緒小例子

2021-05-24 08:55:44 字數 1214 閱讀 4257

例程:下面通過乙個簡單例程example.c來展示linux下的c語言多執行緒操作。

/* example.c*/

#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){

printf ("create pthread error!/n");

exit (1);

for(i=0;i<3;i++)

printf("this is the main process./n");

pthread_join(id,null);

return (0);

編譯此程式:gcc example.c -lpthread -o example。

注意:上面的程式回出現錯誤的。

main.cpp:68: error: invalid conversion from 『void (*)()』 to 『void* (*)(void*)』

main.cpp:68: error:   initializing argument 3 of 『int pthread_create(pthread_t*, const pthread_attr_t*, void* (*)  (void*), void*)』

需要在最上面新增:typedef void *(*thread_proc)(void *);

然後:強轉ret = pthread_create(&id, null, (thread_proc)thread, null);

執行example得到如下結果(結果有多樣性,根據具體系統的呼叫演算法不同而不同):

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.

多執行緒 小例子

1 執行緒小例子 失去一日甚易,欲得回已無途!2016 11 17下午1 43 51 程序 可以包含乙個或者多個執行緒!cpu上 真正 執行的 是 執行緒!實現多執行緒的方法 01.繼承thread類 重寫run 02.實現runnable介面 重寫run 多執行緒 在單個程式中,同時執行多個執行緒...

C語言訪問webservice小例子

c語言訪問webservice小例子 近期做的乙個專案中,需要訪問webservice獲取一些json格式的資料。返回的頁面內容只是json格式的資料,並不像實際頁面那麼複雜。所以不想再引入工具庫,直接用socket簡單實現了。include include include include incl...

執行緒同步wait notify小例子

執行緒同步小例子 開啟兩個執行緒實現拿雞蛋 放雞蛋交叉進行public class dofunction catch interruptedexception e num system.out.println 拿雞蛋 notify public synchronized void setegg ca...