码迷,mamicode.com
首页 > 其他好文 > 详细

sched_getaffinity和pthread_getaffinity_np的区别

时间:2018-12-29 01:02:47      阅读:425      评论:0      收藏:0      [点我收藏+]

标签:独立   不同   进程id   维护   ini   线程   就是   get   read   

sched_getaffinity和pthread_getaffinity_np都是绑核的函数,网上都说sched_getaffinity是用来绑定进程的,pthread_getaffinity_np是用来绑定线程的。但是我们知道,绑定进程从本质上来讲,也是绑定线程,那这两个有什么区别呢?

可以发现,这两个方法传入的第一个参数是不一样的,sched_getaffinity传入的是进程ID,pthread_getaffinity_np传入的是线程ID。也就是说,一个线程会有两个ID,一个叫进程ID,一个叫线程ID,进程ID在内核中是独立的,由内核维护,线程ID在进程中是独立的,由进程维护。进程ID在不同进程间是有效的,这意味着你可以在进程中修改其他进程的属性,而线程ID无法在不同进程间共享。所以这两个函数最大的区别是,你可以在进程a调用sched_getaffinity修改掉进程b中的某个线程的绑定核。

sched_getaffinity和pthread_getaffinity_np的区别

标签:独立   不同   进程id   维护   ini   线程   就是   get   read   

原文地址:https://www.cnblogs.com/scaugsh/p/10193436.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!