所以我有一個結構如下:傳遞結構數組到在pthread_create
struct threadData{
string filename
int one;
int two;
};
,我創建了這些結構的一個這樣的數組:
pthread_t threadID[5];
struct threadData *threadP;
threadP = new struct threadData[5];
然後我通過這一個線程函數結構數組如下:
for(int i = 0; i < 5; i++){
pthread_create(&threadID[i], NULL, threadFunction, (void *) threadP[i]);
}
這就是我的threadFunction寫法:
void *threadFunction(void * threadP[]){
}
我已經嘗試過各種東西,但我總能得到什麼我傳遞是不正確的,我應該怎麼做這個正確的,這樣我可以在每個結構對象我通過訪問和處理的變量中的錯誤在?我有一種感覺,我的語法在某處是錯誤的,因爲我使用了一系列的結構體......我只是不知道錯在哪裏或是什麼。任何幫助,將不勝感激!
它應該是'&threadP [i]'。就這樣。 – 2012-10-20 01:10:14
爲什麼不使用std :: thread? –
或'boost :: thread'? – Recker