pthread_attr_setschedparam和pthread_setschedparam之间的区别是什么?

时间:2015-05-22 13:54:58

标签: linux pthreads posix scheduling

pthread_attr_setschedparam和pthread_setschedparam之间的区别是什么?我该如何决定选择使用?

2 个答案:

答案 0 :(得分:1)

pthread_setschedparam()设置现有线程的调度程序策略和调度程序参数。

pthread_attr_setschedparam()pthread_attr_setschedpolicy()分别为线程属性对象(类型pthread_attr_t)设置调度程序参数和调度程序策略。这将为使用该线程属性对象创建的任何新线程设置调度程序参数和调度程序策略(例如,您可以将线程属性对象作为pthread_create()的第二个参数传递)。

您要使用哪一个取决于您是要设置现有线程的调度程序策略/参数还是新线程。

答案 1 :(得分:0)

命名令人困惑,但它们用于不同的目的。

pthread_setschedparam用于设置线程的参数

pthread_attr_setschedparam用于设置线程参数的属性。

这意味着

  • 如果要设置必须使用的特定属性 pthread_attr_setschedparam
  • 如果您想要设置胎面的具体参数 使用pthread_setschedparam