RC在多线程/多处理的上下文中代表什么?

时间:2018-12-03 06:23:15

标签: c++ linux multithreading

我看到人们在使用多线程时经常使用变量名RCrc,例如在this Linux pthread_setname_np manual中,有:

rc = pthread_create(&thread, NULL, threadfunc, NULL);

在这种情况下,RC代表什么?

我怀疑它的意思是“返回码”,但是我没有找到权威的来源来验证这一点。

2 个答案:

答案 0 :(得分:2)

是的,很好的猜测,RC或rc是具有返回值的常用变量名 从API进行编程。

但这只是API返回类型的局部变量,其他常用的是ret_code,但是可以选择命名API返回值。我认为不存在任何文件可以解释为什么这种RC命名是存在的:-)

答案 1 :(得分:1)

您将没有权威资料来解释这一点。人们可以根据自己的喜好命名automatic variables(前提是与scope中的其他内容或关键字没有冲突)。

但是您的猜测(“返回代码”的rc)可能是一个不错的选择。

但是,与您的示例一样,等效代码int i = pthread_create(&thread, nullptr, threadfunc, nullptr);可能被视为可读。我个人倾向于在我的C代码中命名此类局部变量int err = pthread_create(&thread, NULL, threadfunc, NULL);

PS。 NULLpthread_create的使用建议使用POSIX threads的C程序(请参阅pthreads(7)),而不是C ++。在真正的现代C ++ 11中,您最好改用nullptrstd::thread(即使大多数实现确实会在pthreads(7)以上实现它)