操作系统中任务同步是什么意思,怎样理解??
在操作系统中同步是什么意思,怎么理解??任务与事件的同步又是什么意思,希望哪位前辈能帮忙解答下,望能尽量解释的形象点!!!谢谢 从字面理解即可,没那么玄乎,同步就是步调一致,步调不一致就乱了 本帖最后由 reille 于 2013-3-25 08:43 编辑举个例子,有两个任务:A和B任务,此时,A任务必需在B任务完成某件事或者某个动作之前才能继续执行,这时,A任务和B任务就需要同步 同步属于互斥中的一种。
互斥:假如说有A、B两个任务。由于2个任务都会访问一个独占的公共资源,也就是说要加临界区。
所以在临界区运行出来的效果是,两个任务不能同时进入,另外运行的顺序上是随机的。
给出编程实例:A和B都要使用独占方式的串口,A在使用时,B不能用。B使用时,A也不能用。
同步: 继续采用上面的例子,也是在临界区上不能同时运行。但运行顺序上一定是A、B的交错执行。
给出实例:A线程从网络上接受一个缓冲区大小的音频数据放到缓冲区中,B线程从缓冲区中取数据放到声卡中来播放声音。这个例子其实用来理解同步互斥是可以的,但实际一般都不是采用这个方法,一般都是用的多片的环形缓冲区来改善实际缓冲效果,把同步转换成一定条件的互斥。
页:
[1]