2012-04-18 113 views

回答

4

根据ISO C,newThread变量是一个“不确定值的对象”,其使用会触发未定义的行为。它可能具有触发CPU异常的“陷阱表示”。

或者它可能只是被解释为该类型的随机值,API可以通过以下两种方式之一处理:或者没有这样的线程,并且返回ESRCH,或者通过侥幸存在这样的线程。然后出现各种情况:是否可连接等。

+0

好的。我没有考虑到最初的不确定值可能发生在一个有效的线程上。 – holtavolt 2012-04-18 01:50:57

+1

*程序员不能通过他们的聪明才智和他们的逻辑来衡量,而应该通过他们案例分析的完整性来衡量。* Alan J. Perlis,Epigram#32。 – Kaz 2012-04-18 02:03:04

2

如果您将pthread_join称为未初始化的pthread_t,则行为未定义。

+0

正确:http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_join.html – kay 2012-04-18 02:02:30

相关问题