首页 > 其他分享 >多线程测试

多线程测试

时间:2022-11-10 09:48:21浏览次数:38  
标签:多线程 int len MESS oops 测试 include

编写多线程程序,主线程中开启两个线程,一个线程打印十个偶数随机数,一个线程打印十个奇数随机数。

#include	<stdio.h>
#include    <stdlib.h>
#include    <string.h>
#include    <unistd.h>
#include	<time.h>


#define	CHILD_MESS	"Odd:\n"
#define	PAR_MESS	"Even\n"
#define	oops(m,x)	{ perror(m); exit(x); }

main()
{
	int	pipefd[2];	
	int i=0,j=0;	
	int	len;			
	char	buf[BUFSIZ];		
	int	read_len;

	if ( pipe( pipefd ) == -1 )
		oops("cannot get a pipe", 1);

	switch( fork() ){
		case -1:
			oops("cannot fork", 2);
	
		case 0:			
			len = strlen(CHILD_MESS);
			while(1){
				if (write( pipefd[1], CHILD_MESS, len) != len ){
					oops("write", 3);
				}
			for(i;i<10;i++){
					srand((unsigned int)time(NULL));
					printf("奇数随机数为:%d\n",rand()*2+1);
					sleep(1);
				}
			}
		
		default:		
			len = strlen( PAR_MESS );
			while(1){
				if ( write( pipefd[1], PAR_MESS, len)!=len ){
					oops("write", 4);
				}
				for(j;j<10;j++){
					srand((unsigned int)time(NULL));
					printf("偶数随机数为:%d\n",rand()*2);
					sleep(1);
				}
				read_len = read( pipefd[0], buf, BUFSIZ );
				if ( read_len <= 0 )
					break;
				write( 1 , buf, read_len );
			}
	}
}

image

标签:多线程,int,len,MESS,oops,测试,include
From: https://www.cnblogs.com/20201212ycy/p/16876028.html

相关文章

  • 进程间通信测试-signal
    截图代码#include<stdio.h>#include<unistd.h>#include<signal.h>#include<string.h>#include<assert.h>#include<stdlib.h>#include<time.h>#defineINP......
  • 19级期末测试--房产信息管理系统
    房产信息管理系统-19级期末考试                                        ......
  • 进程间通信测试-signal
    任务详情基于sigaction编写一个信号处理程序,按下CTRL+C,打印奇数随机数,按下CTRL+\,打印偶数随机数,提交代码和运行结果截图。 代码如下:#include<stdio.h>#includ......
  • 多线程测试
    #include<stdio.h>#include<pthread.h>void*Thread1(void*arg){printf("线程1:");intn=0;intA[10]={-1};intTemp=-1;while(......
  • 多线程测试
    编写多线程程序,主线程中开启两个线程,一个线程打印十个偶数随机数,一个线程打印十个奇数随机数.代码如下:#include<stdio.h>#include<pthread.h>#include<stdlib.h>#i......
  • 多线程
    编写多线程程序,主线程中开启两个线程,一个线程打印十个偶数随机数,一个线程打印十个奇数随机数.......
  • 20201317 读者-写者(多线程)问题的思考与研究
    操作系统中"读者-写者"问题1.OS“读者-写者”问题,理解问题的本质,提交你理解或查找到的文本资料1、允许多个读者可以同时对文件执行读操作。2、只允许一个写者往文件中......
  • 进程间通信测试-signal
    任务详情基于sigaction编写一个信号处理程序,按下CTRL+C,打印奇数随机数,按下CTRL+\,打印偶数随机数,提交代码和运行结果截图。代码点击查看代码#include <stdio.h>#inclu......
  • 20201317-Linux-Thread 互斥测试
    #include<stdio.h>#include<stdlib.h>#include<pthread.h>//linux线程库#include<ctype.h>//测试和映射字符的库structarg_set{ char*fname; int......
  • 多进程测试
    推荐在OpenEuler中实现编写程序rxx(xx为你学号后两位),rxx-o生成并打印一个奇数随机数,rxx-e生成并打印一个偶数随机数。提交代码和运行结果截图。编写一个多进......