C thrd_join的返回值与其res参数之间的差异?
我很难理解thrd_join的用法。其声明如下:C thrd_join的返回值与其res参数之间的差异?,c,c11,C,C11,我很难理解thrd_join的用法。其声明如下: int thrd_join( thrd_t thr, int *res ); 该节内容如下: 如果res不是空指针,则线程的结果代码将放在res 因此我认为变量res包含要连接的线程的返回代码。thrd_join()的返回值用于什么?这是一个代码,表示加入将成功,并且我可以认真对待res的内容吗 我有这个权利吗?线程有一个函数thrd\u start\t,它是int(*)(void*)(cf.)的typedef,也就是说,它接受一个void*,
int thrd_join( thrd_t thr, int *res );
该节内容如下:
如果res不是空指针,则线程的结果代码将放在res
因此我认为变量res包含要连接的线程的返回代码。thrd_join()的返回值用于什么?这是一个代码,表示加入将成功,并且我可以认真对待res的内容吗
我有这个权利吗?线程有一个函数
thrd\u start\t
,它是int(*)(void*)
(cf.)的typedef,也就是说,它接受一个void*
,并返回一个int
。此函数的返回值存储到res
指向的位置。调用自身的返回代码是其返回值。线程具有thrd\u start\t
函数,该函数是int(*)(void*)
(cf.)的typedef,即它接受void*
,并返回int
。此函数的返回值存储到res
指向的位置。调用自身的返回码是它的返回值。该函数与C中的许多函数类似,其中该函数返回一个表示错误或成功的“错误码”,并且该函数有一个保存实际输出的out参数
在某些情况下,您可以忽略这些错误代码,例如printf
返回int
,但我们通常不检查其返回类型
当错误案例有很好的概率时,最好检查错误
请注意,在
java
或C
等语言中,函数返回实际输出,异常是表示可能错误的方法 该函数类似于C中的许多函数,其中该函数返回一个表示错误或成功的“错误代码”,并且该函数有一个out参数,用于保存实际输出
在某些情况下,您可以忽略这些错误代码,例如printf
返回int
,但我们通常不检查其返回类型
当错误案例有很好的概率时,最好检查错误
请注意,在java
或C
等语言中,函数返回实际输出,异常是表示可能错误的方法 你从哪里得到这个函数的?如果它有一个文档,它应该告诉返回值是什么。“如果成功,thrd\u success
,否则,thrd\u error
。”因此,如果我得到thrd\u error
,则连接失败并且res
不包含有效值。如果我获得了thrd_success
,则加入成功,并且res
包含返回值。对吗?还有什么其他的行为呢?嗯,我没有得到一个在加入线程时可能出错的事情的列表。我认为要么线程成功退出,要么不成功。无论如何,连接都会发生。也许我错误地认为,这是我困惑的根源。你从哪里得到这个函数的?如果它有一个文档,它应该告诉返回值是什么。“如果成功,thrd\u success
,否则,thrd\u error
。”因此,如果我得到thrd\u error
,则连接失败并且res
不包含有效值。如果我获得了thrd_success
,则加入成功,并且res
包含返回值。对吗?还有什么其他的行为呢?嗯,我没有得到一个在加入线程时可能出错的事情的列表。我认为要么线程成功退出,要么不成功。无论如何,连接都会发生。也许我认为这是错误的——这对我来说是一个困惑的根源。这太笼统了,没有任何价值。我显然理解返回码的用途,但这个特定的案例对我来说似乎不同。@PavelMatuska并没有真正的不同。如果使用scanf(“%d”和&number)
,则应检查其返回值。如果不是1
,则不能信任number
的值。不知道为什么它被否决了。可能是因为“你可以忽略那些错误代码”。@PavelMatuska正如EugeneSh所说,我认为你的案例没有太大的不同,太笼统了,没有任何价值。我显然理解返回码的用途,但这个特定的案例对我来说似乎不同。@PavelMatuska并没有真正的不同。如果使用scanf(“%d”和&number)
,则应检查其返回值。如果不是1
,则不能信任number
的值。不知道为什么它被否决了。可能是因为“你可以忽略那些错误代码”。@PavelMatuska正如EugeneSh所说,我认为你的案例没有太大的不同。虽然对我个人来说没有帮助,但这是一个很好的总结,非常适合接受一个可接受的答案。如果你可以详细说明,你还需要知道什么,我会尝试更新我的答案。我可以添加一个指向标准的指针(C11草案N1570第7.26.5.6节),但我想这是显而易见的。虽然对我个人没有帮助,但这是一个很好的总结,非常适合接受答案。如果您可以详细说明,您还需要知道什么,我会尝试更新我的答案。我可以添加一个指向该标准的指针(C11草案N1570第7.26.5.6节),但我想这是显而易见的。