參考:
簡單例子:
#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...