当前位置:  技术问答>linux和unix

我要设置一个线程的优先级, 这个属性结构并没有线程的id,它怎么知道是设置哪个线程呢?

    来源: 互联网  发布时间:2016-06-28

    本文导语:  typedef struct {        int                               detachstate;   线程的分离状态        int                               schedpolicy;  线程调度策略        struct sched_pa...

typedef struct

{

       int                               detachstate;   线程的分离状态

       int                               schedpolicy;  线程调度策略

       struct sched_param              schedparam;  线程的调度参数

       int                               inheritsched;  线程的继承性

       int                                scope;       线程的作用域

       size_t                           guardsize;   线程栈末尾的警戒缓冲区大小

       int                                stackaddr_set;

       void *                          stackaddr;   线程栈的位置

       size_t                           stacksize;    线程栈的大小

}pthread_attr_t;

我要设置一个线程的优先级, 这个属性结构并没有线程的id,它怎么知道是设置哪个线程呢?

|
int pthread_setschedparam(pthread_t thread, int policy,
              const struct sched_param *param);         
int pthread_attr_setschedparam(pthread_attr_t *restrict attr,
              const struct sched_param *restrict param);
              
pthread_setschedparam()
  是修改现在正在执行中的线程,具体地说,就是在pthread_create之后才能使用。 
pthread_attr_setschedparam()
  是修改将要创建的线程的参数,在pthread_create就要使用了。 


在LINUX中,采用的是“一对一”的线程机制。也就是一个用户线程对应一个内核线程。邦定属性就是指一个用户线程固定地分配给一个内核线程,因为CPU时间片的调度是面向内核线程(轻量级进程)的,因此具有邦定属性的线程可以保证在需要的时候总有一个内核线程与之对应,而与之对应的非邦定属性就是指用户线程和内核线程的关系不是始终固定的,而是由系统来分配。设置线程绑定属性使用函数:pthread_attr_setscope

              

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我要懂什么才行呀?
  • DHCPD服务开启不了,系统提示:我要声明某个网卡(因为我有两块网卡),不知道怎么搞
  • 我要学Java了,可是不知怎末学
  • 怎么跟我要activation key??
  • 如果我要用openFileDialog我应该import哪些?
  • 请问我要加载内核模块 ipip.o 怎么做
  • 我要在 linux下 使用 OCI driver , 该如何配置?
  • 怎么写linux和windows2000的架构区别!我要作业!谢谢
  • 我要生成java 的文档在dos 下用什么命令.
  • [怪象论坛]为什么总有那么多“我要……”?
  • 我要能访问以汉字命名的网页吗?
  • 我要处理用户输入的一个字符窜。怎样写用户输入这段代码?
  • 请问:再局域网中怎样用代理服务器,我要用GOOGLE!!
  • 我要为读写一个数据表做一个进度条如何做
  • 我要学UNIX了,请问该从哪里开始?
  • 我要tcpdump的安装包, 大家帮我找找, 哪里可以下载????急
  • 我要實現訪問NTFS?
  • 我要在aix下debug跟踪程序C++,需要安装什么东西?
  • 我要学Java了,可是不知怎末学 iis7站长之家
  • 我要怎样让它变成3?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3