void function1(){this
ThreadArg pArg;//他是個結構體指針線程
pArg->s_1 = 1;指針
pArg->s_2 = this;//關鍵就是這個,我是想把當前實例的指針讓線程去作一些操做。code
int ret = pthread_create( &m_id, NULL, function2, (void *)pArg);io
}function
void * function2( void * p){thread
//code....co
//調用this的某些public結構體
}參數
結果悲劇了。。。。。時而報錯,時而不報錯。。。每次報錯還不同。原來就是pArg的聲明週期結束了,致使this指針有時可能被覆蓋有時可能沒有,因此一切都是不肯定的。因而把這個線程參數放在堆裏面了,就沒事了。。。之後不能再這樣馬虎了!