信号量的简单使用
信号量是多任务操作系统中用来实现多个进程或线程之间同步于互斥的,在操作系统中使用PV操作实现信号量的操作。
在本例中,首先创建一个子进程,然后利用信号量实现控制父子进程的运行顺序:
可以看到是子进程先退出,父进程后退出,而fork出来的父子进程的执行顺序是不定的!在上面的例子中,我们先让父进程睡眠了1秒,如果不这么做的话,由于fork的执行顺序不定,可能是父进程先抢占了资源,然后很快的子进程又申请,这时子进程就会报错:invalid argument,如下图:
可以看到是子进程先退出,父进程后退出,而fork出来的父子进程的执行顺序是不定的!
在上面的例子中,我们先让父进程睡眠了1秒,如果不这么做的话,由于fork的执行顺序不定,可能是父进程先抢占了资源,然后很快的子进程又申请,这时子进程就会报错:invalid argument,如下图: