获取线程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,操作系统则会把找到其所属进程的所有线程,把它们统统加入到当前控制组。