编写多线程程序,主线程中开启两个线程,一个线程打印十个偶数随机数,一个线程打印十个奇数随机数.
代码如下:
#include <stdio.h> #include <pthread.h> #include <stdlib.h> #include <unistd.h> void *mythread1(void) { int i,j,n=0; for(i=0;i<50;i++) { j=rand()%100; if(j % 2==0){ printf("This is the 1st pthread,the number is %d\n",j); n++; } sleep(1); if(n==10) { return 0; } } } void *mythread2(void){ int i,j,n=0; for(i=0;i<50;i++) { j=rand()%100; if(j % 2!=0){ printf("This is the 2nd pthread,the number is %d\n",j); n++; } sleep(1); if(n==10) { return 0; } } } int main(int argc, const char *argv[]) { int i = 0; int ret = 0; pthread_t id1,id2; ret = pthread_create(&id1, NULL, (void *)mythread1,NULL); if(ret) { printf("Create pthread error!\n"); return 1; } ret = pthread_create(&id2, NULL, (void *)mythread2,NULL); if(ret) { printf("Create pthread error!\n"); return 1; } pthread_join(id1,NULL); pthread_join(id2,NULL); return 0; }
运行结果如图:
标签:多线程,测试,void,打印,线程,随机数,include From: https://www.cnblogs.com/syf0105/p/16876009.html