线程ID杂记

获取线程ID

pthread_self、std::this_thread::get_id:实际上是线程库维护的TID信息,pthread_self返回值是线程结构体pthread_t的地址。

syscall(SYS_gettid):获取是线程的在内核看来的pid_t进程ID值。

亲和性是一种属性

(核心的可选择性。目前只查到是数据结构的维护。调度的时候用到。它与linux cgroup之间极有可能存在联系,彼此之间一致性的维护需要时间)

sched_setaffinity:进程的CPU亲和性

pthread_setaffinity_np:线程的CPU亲和性

具体跑的核心用下列函数

sched_getcpu():线程(内核看来是进程)正在跑的那个核心

以文件系统呈现的Linux原生Cgroup功能

https://www.cnblogs.com/shishaochen/p/9735114.html

cgroups.procs和task区别

两个配置项基本是等价的,但有一小点不同。操作系统以线程(应该是进程)为调度单位,将一个一般的 pid 写入到 tasks 中,只有这个 pid 对应的线程,以及由它产生的其他进程、线程会属于这个控制组。而把 pid 写入 cgroups.procs,操作系统则会把找到其所属进程的所有线程,把它们统统加入到当前控制组。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值