Tôi có câu hỏi về lập trình đồng thời C.pthread_join() và pthread_exit()
Trong thư viện pthread, nguyên mẫu của pthread_join
là
int pthread_join(pthread_t tid, void **ret);
và nguyên mẫu của pthread_exit
là:
void pthread_exit(void *ret);
Vì vậy, tôi đang bối rối mà, tại sao pthread_join
mất giá trị trả về của quá trình dưới dạng con trỏ tới con trỏ void
từ chuỗi đã được thu thập, nhưng pthread_exit
chỉ lấy con trỏ void
từ chuỗi đã thoát? Tôi có nghĩa là về cơ bản họ là tất cả các giá trị trả về từ một sợi, tại sao có một sự khác biệt trong loại?
Nhưng tại sao xác định đặt lại trong 'pthread_exit' một loại' void * ', nó luôn là' NULL' hoặc một số giá trị không đổi khác – stonestrong