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

eoigrqb6  于 2023-10-16  发布在  Linux
关注(0)|答案(3)|浏览(93)

我看到人们在使用多线程时经常使用变量名RCrc,例如在this Linux pthread_setname_np manual中,有:
rc = pthread_create(&thread, NULL, threadfunc, NULL);
在这种情况下,RC代表什么?
我怀疑它的意思是“返回代码”,但我没有找到权威来源来验证这一点。

tmb3ates

tmb3ates1#

是的,猜得好,RC或rc是编程中从API返回值的常用变量名。
但那只是API的返回类型的局部变量,其他常用的是ret_code但是选择命名API的返回值的问题。我不认为有任何文件可以解释为什么这个RC命名会存在:-)

hfwmuf9z

hfwmuf9z2#

你不会有 * 权威 * 来源解释这一点。人们可以根据自己的喜好来命名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程序。在真正的现代C11中,你最好使用nullptrstd::thread(即使大多数实现确实会在pthreads(7)之上实现它)

kcugc4gi

kcugc4gi3#

我最好的猜测是RC代表引用计数器。

相关问题