3
假設我有以下代碼:pthread_detach會爲我管理我的記憶嗎?
while(TRUE) {
pthread_t *thread = (pthread_t *) malloc(sizeof(pthread_t));
pthread_create(thread, NULL, someFunction, someArgument);
pthread_detach(*thread);
sleep(10);
}
請問分離線程釋放由malloc的分配的內存,或者是說什麼我現在要做的?
OP的問題在想,因爲`pthread_create`需要一個`pthread_t`參數,所以你需要一個指針變量來傳遞。這是開始C程序員的一個經典錯誤 - 聲明指針變量用作參數而不是傳遞`&foo`。 – 2011-05-21 15:01:31