我如何知道C中的某个帖子是"正在运行"," runnable","阻止"或者"终止"。我知道这些函数存在于Java中,但无法在C语言中找到它们。
此外,我需要多个具有多个优先级的线程,我确实使用 pthread_attr_setschedparam ,使用 SCHED_RR 策略和 EXPLICIT继承但是它剂量&# 39; nt似乎有用吗?
我出错的任何建议?
提前致谢
答案 0 :(得分:2)
我将告诉您为线程分配调度策略必须遵循的顺序。
1)首先,您创建pthread_attr_t attr
变量。
2)初始化它 - pthread_attr_init(&attr)
。
3)设置显式继承:pthread_attr_setinheritsched(&attr,PTHREAD_EXPLICIT_SCHED);
4)然后使用pthread_attr_setschedpolicy(&attr,SCHED_RR);
5)最后创建你的帖子pthread_create(&THREAD_NAME, &attr, FN_NAME, ARGS);
您可以使用此attr
变量根据需要使用SCHED_RR
策略创建任意数量的线程。
现在如何检查是否设置了所需的策略?您必须使用pthread_attr_getschedpolicy
功能。请参阅MAN页面以了解如何使用它http://linux.die.net/man/3/pthread_attr_getschedpolicy
使用不应使用pthread_attr_setschedparam
为线程设置SCHED_RR
策略。此函数用于为线程分配优先级。有关详细信息,请参阅http://linux.die.net/man/3/pthread_attr_setschedparam。