📄 unixprogram.cpp
字号:
#include "stdio.h"
#include "unistd.h"
#include "string.h"
#include<pthread.h> /* Linux线程库头文件 */
#include <iostream>
#include <time.h>
#include <sys/types.h>
#include <unistd.h>
using namespace std;
static int i= 0;
int start()
{
time_t BeginTime,EndTime;
BeginTime = time((time_t*)0);
#define mynul(n) (T##n)+(T##n)
int i= 3;
int Ti= 2;
i = mynul(i);
printf("I=%d\r\n",i);
EndTime = time((time_t*)0);
printf("total time = %d \r\n",(EndTime - BeginTime));
pid_t pid;
pid_t pid1;
switch (pid = fork())
{
case -1:
/* 这里pid为-1,fork函数失败 */
/* 一些可能的原因是 */
/* 进程数或虚拟内存用尽 */
perror("The fork failed!");
printf("***4345345****\r\n");
break;
case 0:
/* pid为0,子进程 */
/* 这里,我们是孩子,要做什么? */
/* ... */
/* 但是做完后, 我们需要做类似下面: */
pid1 = getppid();
printf("Parent's pid is %d\n",pid1 );
printf("***************\r\n");
break;
default:
i++;
//pid = fork();
printf("i= %d\r\n",i);
/* pid大于0,为父进程得到的子进程号 */
printf("Child's pid is %d\n",pid);
}
switch (pid = fork())
{
case -1:
/* 这里pid为-1,fork函数失败 */
/* 一些可能的原因是 */
/* 进程数或虚拟内存用尽 */
perror("The fork failed!");
printf("***4345345****\r\n");
break;
case 0:
/* pid为0,子进程 */
/* 这里,我们是孩子,要做什么? */
/* ... */
/* 但是做完后, 我们需要做类似下面: */
pid1 = getppid();
printf("Parent's pid is %d\n",pid1 );
printf("***************\r\n");
break;
default:
i++;
//pid = fork();
printf("i= %d\r\n",i);
/* pid大于0,为父进程得到的子进程号 */
printf("Child's pid is %d\n",pid);
}
return 0;
}
int main(void)
{
pthread_t tid1, tid2;
if( pthread_create( &tid1,NULL,(void *(*)(void *))start,NULL ) )
{
printf( "创建线程失败!\n" );
return 0;
}
if( pthread_join( tid1,NULL ) )
{
printf( "等待线程结束失败!\n" );
return 0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -