#include <stdio.h>
#include <unistd.h>
int main()
{
int p1, p2;
while((p1 = fork()) == -1); /* 创建子进程p1 */
if(p1 == 0) putchar('b'); /* 子进程p1创建成功 */
else
{
while((p2 = fork()) == -1); /* 创建子进程p2 */
if(p2 == 0) putchar('c'); /* 子进程p2创建成功 */
else putchar('a'); /* 父进程执行 */
}
return 0;
}
bac
acb
从进程并发执行来看,因为并发进程是抢占式争夺系统资源,所以abc字符串的全排列的所有情况都有可能.