我有以下代码。
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
void* a(void* ptr) {
while(1){
printf("1");
printf("2");
printf("3");
printf("4");
}
}
int main(int argc, char** argv) {
pthread_t t;
pthread_create(&t, NULL, a, 0);
while(1){
printf("a");
printf("b");
printf("c");
printf("d");
}
pthread_join(t, NULL);
return 0;
}
此代码的结果是“abcdabcdabcdcdcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdcd3434123412341234 ...........” 但我希望它们像“ab12c3d4a1bcda23b ......”一样混合 如何配置线程的调度时间片? 这有可能吗?
提前谢谢
答案 0 :(得分:-1)
您可以通过将sched参数(pthread_setschedparam(3)
)设置为例如SCHED_RR
来修改计划行为(RR表示循环)。 SCHED_FIFO
,SCHED_RR
和SCHED_OTHER
默认为SCHED_OTHER
。