刚开始的代码是这样的:
#include<stdio.h>
#include<pthread.h>
#include<sched.h>
#include<unistd.h>
void* thread(void *arg) {
char ch = *(char *)arg;
while(1) {
printf("%c",ch);
fflush(stdout);
//sleep(1);
}
}
int main(int argc, char *argv[]) {
pthread_t t1, t2;
char ch1 = 'A', ch2 = 'B';
pthread_create(&t1, NULL, thread, (void*)&ch1);
pthread_create(&t2, NULL, thread, (void*)&ch2);
pthread_join(t1, NULL);
pthread_join(t2, NULL);
return 0;
}
此时输出A 和B都是随机的,我现在想要只输出A而不输出B,也就是需要改变线程的优先级。
下面的代码设置两个线程的优先级为100 和 200,按道理来说应该只会输出优先级高的线程,结果却和前面一样,两个都会输出。
#include<stdio.h>
#include<pthread.h>
#include<sched.h>
#include<unistd.h>
void* thread