wait()操作
请问下面的程序能否实现,创建4个子进程,每个子进程都打印“HELLO”后立刻终止,父进程等待4个子进程都终止后,打印“BYE”,然后终止
main()
{
int sv;
if (fork() == 0) { /* 第一个子进程 */
printf(”HELLO\n”); /* 打印 */
exit(0); /* 进程终止 */
} else if (fork() == 0) { /* 第二个子进程 */
printf(”HELLO\n”); /* 打印 */
exit(0); /* 进程终止 */
}else if(fork()==0){
printf(”HELLO\n”); /* 打印 */
exit(0);
}else if(fork()==0){
printf(”HELLO\n”); /* 打印 */
exit(0);
}
wait(&sv); wait(&sv); wait(&sv);wait(&sv);/* 父进程等待两个子进程终止 */
printf(”BYE\n”);
}
main()
{
int sv;
if (fork() == 0) { /* 第一个子进程 */
printf(”HELLO\n”); /* 打印 */
exit(0); /* 进程终止 */
} else if (fork() == 0) { /* 第二个子进程 */
printf(”HELLO\n”); /* 打印 */
exit(0); /* 进程终止 */
}else if(fork()==0){
printf(”HELLO\n”); /* 打印 */
exit(0);
}else if(fork()==0){
printf(”HELLO\n”); /* 打印 */
exit(0);
}
wait(&sv); wait(&sv); wait(&sv);wait(&sv);/* 父进程等待两个子进程终止 */
printf(”BYE\n”);
}
...全文
相关推荐
Java使用wait() notify()方法操作共享资源详解
1. wait()方法: 当一个线程调用对象的wait()方法时,它会释放掉当前对象的锁(monitor),然后进入等待状态。
实验二:《操作系统》之进程控制.pdf
《操作系统》实验二的核心主题是进程控制,主要涉及三个关键函数:fork(), wait(), 和 exit()。这些函数在操作系统中用于管理和协调进程的生命周期。
计算机操作系统实验-进程的控制.doc
了解系统调用 fork()、execvp()和 wait()的功能和实现过程。2.
Java 中Object的wait() notify() notifyAll()方法使用
三、wait()和notify()理解wait()和notify()方法简介wait()和notify()都是Object的方法,可以认为任意一个Object都是一种资源(或者资源的一个代表),当多个线程对一个资源进行操作时
JAVA线程sleep()和wait()详解及实例
在休眠期间,线程不会执行任何操作,但仍然占用系统资源。sleep()方法的执行过程可以分为三步:1. 首先,线程会放弃CPU控制权,进入休眠状态。2.


