打印

操作系统中任务同步是什么意思,怎样理解??

[复制链接]
2357|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhuxing_1026|  楼主 | 2013-3-25 00:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
zchong| | 2013-3-25 08:12 | 只看该作者
从字面理解即可,没那么玄乎,同步就是步调一致,步调不一致就乱了

使用特权

评论回复
板凳
reille| | 2013-3-25 08:41 | 只看该作者
本帖最后由 reille 于 2013-3-25 08:43 编辑

举个例子,有两个任务:A和B任务,此时,A任务必需在B任务完成某件事或者某个动作之前才能继续执行,这时,A任务和B任务就需要同步

使用特权

评论回复
地板
lr2131| | 2013-3-25 09:00 | 只看该作者
同步属于互斥中的一种。

互斥:假如说有A、B两个任务。由于2个任务都会访问一个独占的公共资源,也就是说要加临界区。
     所以在临界区运行出来的效果是,两个任务不能同时进入,另外运行的顺序上是随机的。
      给出编程实例:A和B都要使用独占方式的串口,A在使用时,B不能用。B使用时,A也不能用。

同步: 继续采用上面的例子,也是在临界区上不能同时运行。但运行顺序上一定是A、B的交错执行。
     给出实例:A线程从网络上接受一个缓冲区大小的音频数据放到缓冲区中,B线程从缓冲区中取数据放到声卡中来播放声音。这个例子其实用来理解同步互斥是可以的,但实际一般都不是采用这个方法,一般都是用的多片的环形缓冲区来改善实际缓冲效果,把同步转换成一定条件的互斥。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

51

帖子

1

粉丝