pthread h使用示例

2021-10-01 07:55:38 字數 1164 閱讀 5704

參考:

簡單例子:

#include #include #include using namespace std;

//建立執行緒示例:

void* thread_1(void* args)

int test_thread_1()

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

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

pthread_join(id,null);

return 0;

}// 向執行緒執行函式 傳入引數,以及返回執行緒執行函式的結果 示例:

void* thread_2( void *arg )

return arg;

}int test_thread_2()

; int *thread_ret = null;

ret = pthread_create( &th, null, thread_2, arg );

if( ret != 0 )

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

pthread_join( th, (void**)&thread_ret );

for (int i=0;i<5;i++)

return 0;

}int main( int argc, char *ar** )

在類中,將類成員函式傳入pthread_create,建立執行緒,示例:

需將執行緒執行函式定義成靜態成員函式;

如需訪問類的非static資料成員, 可將this指標作為引數傳遞給靜態成員函式,這樣可以通過該this指標訪問非static資料成員;

如果還需要向靜態函式中傳遞我自己需要的引數,可將this指標和需要的引數作為乙個結構體一起傳給靜態函式;

具體請看下面示例**:

//在類中pthread_create建立執行緒模板:

class a;

struct arg

;class a

;a::a()

a::~a()

void* a::thread(void* args)

}int test_thread_3()

關於pthread h的學習

最近在學習多執行緒程式設計的課題,於是整理了一下學習到的內容。個人是在window平台使用vs2015,附上vs引入pthread.h的教程和資源 一 首先介紹最基本的pthread create函式 函式原型為 int pthread create pthread t const pthread ...

C語言用pthread h建立執行緒

c11制定了乙個標準的執行緒庫threads.h,但部分編譯器不支援它。官方api列表 這裡列出幾個常用api pthread t 一種資料型別,用於儲存執行緒id intpthread create pthread t id,傳入乙個pthread t型別的變數的位址 const pthread ...

SharpZipLib使用示例

sharpziplib使用示例 zipinputstream gzipinputstream用於解壓縮deflate gzip格式流,zipoutputstream gzipoutputstream用於壓縮deflate gzip格式流。streamutil類包含了幾個stream處理輔助方法 co...