c++ - pthread_self() 很贵吗?

标签 c++ c multithreading performance ubuntu-12.04

pthread_self()ubuntu 12.04 上是否昂贵?
它是否使用系统调用?

我想在每次线程写入日志时调用 pthread_self(),这样我就知道哪个线程写入日志并在日志中提及它。所有线程写入同一个日志文件。

最佳答案

您可以在此处查看源代码:https://fossies.org/dox/glibc-2.19/pthread__self_8c_source.html

从上面的链接可以看出,pthread_self()返回THREAD_SELF,它被定义为一个简单的汇编movl指令。那里没有系统调用。当然,这是实现定义的。上面的链接是指 glibc 库。

关于c++ - pthread_self() 很贵吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22157604/

相关文章:

c++ - 带单引号的整数文字?

c++ - 编译器对析构函数省略的自由度是多少?

c - 如何从C中的文件中读取一行

c - UART中断无限循环微芯片

c++ - Linux 和 Solaris Unix : Coredump at the end of a function

python - SWIG:如何将 python 文件合并到 swig 生成的最终模块文件中

c - 在 CLION 中安装 SDL

c# - 如何计算.NET 应用程序中的并发线程数?

android - 处理程序无法向主线程传递消息或 Runnable

c++ - 将数据打印到文件