线程操作中同步操作与异步操作的区别

在线程基础这一块。好多时候我们很容易将同步操作和异步操作的定义混淆。

按照平常的理解,同步操作应该是多个线程同时操作某些资源,而异步操作则是需要将不同的线程分离开来操作某个资源。但事实上,其定义却刚好和上述理解相反。

正确的理解应该是这样的,异步操作,我们又可以称之为并发操作,它的意思是在操作某资源时,不同的线程跟其他线程是否进行是没有关系的,只要它获得了CPU时间片就开始运行,这样在多个线程工作时,不同的线程在不同的时间段获得CPU时间段或者是没有获得CPU时间段而处于非运行状态,但是由于非运行状态时间是非常短的,所以在我们人体感官上来讲,根本感觉不到,所以我们会觉得这些线程都是同时运行的,这也就是所谓的“异步”操作,或者说是“并发”操作。可以看到,在异步和并发上,我都给它加了一对双引号。但是对于同步操作来说,它的意思就是说多个线程一起工作是按一定的先后顺序的,相当于你干完我再干。

再说的形象点,就是打个比方,都是生产一个玩具,异步操作就是相当于多个工人正在不同的流水线上,他们之间的操作是跟其他人没有任何关系的。你干你的,我干我的,大家之间的工作是互不干涉的。而对于同步操作,就相当于多个工人都在一条流水线上,不同的工人需要相互配合,只有等上一道工序完成了,下一个工人才能进行他的工作。是按照一定的先后顺序的。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值