pthread_exit 后跟 return 的线程终止 - 奇怪的例子
Thread termination with pthread_exit followed by return - Strange example
我找到了this example;这里两个线程 threadDefault 和 threadCustomized 通过使用 pthread_exit 后跟 return 终止。为什么作者要写这两个说明?
来自 pthread_exit()
手册页:
RETURN 值
This function does not return to the caller.
错误
This function always succeeds.
注释
Performing a return from the start function of any thread other than the main thread results in an implicit call to pthread_exit()
, using the function's return value as the thread's exit status.
以上都表明 pthread_exit();
和 return NULL;
一起调用时是多余的。
Mohith Reddy 的回答是正确的,但没有抓住重点。当然,return 语句永远不会执行,因为 pthread_exit
不会 return,但它可以抑制来自编译器的警告,以防编译器不知道 pthread_exit
不会return.
我找到了this example;这里两个线程 threadDefault 和 threadCustomized 通过使用 pthread_exit 后跟 return 终止。为什么作者要写这两个说明?
来自 pthread_exit()
手册页:
RETURN 值
This function does not return to the caller.
错误
This function always succeeds.
注释
Performing a return from the start function of any thread other than the main thread results in an implicit call to
pthread_exit()
, using the function's return value as the thread's exit status.
以上都表明 pthread_exit();
和 return NULL;
一起调用时是多余的。
Mohith Reddy 的回答是正确的,但没有抓住重点。当然,return 语句永远不会执行,因为 pthread_exit
不会 return,但它可以抑制来自编译器的警告,以防编译器不知道 pthread_exit
不会return.