1 Star 0 Fork 1

taozier/roughserver

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
CurrentThread.h 1021 Bytes
一键复制 编辑 原始数据 按行查看 历史
taozier 提交于 2020-06-06 02:58 . update
#pragma once
namespace CurrentThread
{
extern __thread int t_cachedTid; //线程tid
extern __thread char t_tidString[32]; //线程tid字符串
extern __thread int t_tidStringLength;
extern __thread const char *t_threadName; //线程名
void cacheTid(); //获取线程tid,只在t_cachedTid为0时调用
inline int tid() //返回线程tid,首次使用时,调用cacheTid获取
{
//因为t_cachedTid==0是false的概率更大,所以用__builtin_expect使编译器优化代码,减少指令跳转
if (__builtin_expect(t_cachedTid == 0, 0))
{
cacheTid();
}
return t_cachedTid;
}
inline const char *tidString() //用于logging
{
return t_tidString;
}
inline int tidStringLength() //用于logging
{
return t_tidStringLength;
}
inline const char *name()
{
return t_threadName;
}
void *startThread(void *obj); //子线程运行函数
} // namespace CurrentThread
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/taozier/roughserver.git
git@gitee.com:taozier/roughserver.git
taozier
roughserver
roughserver
master

搜索帮助