想象一下,面试官问你为什么引入同步机制,你这么回答呢?
回答应该是,在没有使用同步之前,我们也有一串代码不能同时执行的问题,但是之前的解决方法是忙等待,这样浪费了CPU资源,在引入同步、信号量之后,如果一串临界区代码正在被执行,那么其他进程不需要忙等待,而是去waiting,不再占用CPU,释放资源,这才是为什么引入同步的终极意义。
给你举个例子,假设买衣服的商场有一个试衣间,有很多人再挑选衣服,每个人相当于一个进程,而试衣间相当于只能同时被一个进程执行的一串代码。 在没有同步和信号量之前,如果一个人选到一件衣服,到了试衣间门口,发现试衣间正在被使用,那么它就一直站在门口等,直到自己的时间片结束,休眠。但是如果有同步和信号量,他发现试衣间有人,他就去继续挑选衣服,而不是傻站在门口,这样就提高了效率
就是为了提高CPU利用率,让计算机不再那么傻