线程操作中同步操作与异步操作的区别
来源:互联网 发布:h5 仿淘宝商品详情 编辑:程序博客网 时间:2024/06/09 08:41
在线程基础这一块。好多时候我们很容易将同步操作和异步操作的定义混淆。
按照平常的理解,同步操作应该是多个线程同时操作某些资源,而异步操作则是需要将不同的线程分离开来操作某个资源。但事实上,其定义却刚好和上述理解相反。
正确的理解应该是这样的,异步操作,我们又可以称之为并发操作,它的意思是在操作某资源时,不同的线程跟其他线程是否进行是没有关系的,只要它获得了CPU时间片就开始运行,这样在多个线程工作时,不同的线程在不同的时间段获得CPU时间段或者是没有获得CPU时间段而处于非运行状态,但是由于非运行状态时间是非常短的,所以在我们人体感官上来讲,根本感觉不到,所以我们会觉得这些线程都是同时运行的,这也就是所谓的“异步”操作,或者说是“并发”操作。可以看到,在异步和并发上,我都给它加了一对双引号。但是对于同步操作来说,它的意思就是说多个线程一起工作是按一定的先后顺序的,相当于你干完我再干。
再说的形象点,就是打个比方,都是生产一个玩具,异步操作就是相当于多个工人正在不同的流水线上,他们之间的操作是跟其他人没有任何关系的。你干你的,我干我的,大家之间的工作是互不干涉的。而对于同步操作,就相当于多个工人都在一条流水线上,不同的工人需要相互配合,只有等上一道工序完成了,下一个工人才能进行他的工作。是按照一定的先后顺序的。
1 0
- 线程操作中同步操作与异步操作的区别
- ios的线程和同步异步操作
- 同步化,同步,异步化,异步操作的区别
- 同步化,同步,异步化,异步操作的区别
- ajax 操作/同步、异步区别
- iOS实现多个异步线程同步的操作
- lock Mutex Monitor 之间的区别与详解, .net 多线程 同步异步操作,锁
- 异步操作转同步
- 线程同步的基本操作
- Symbian中如何转换异步操作为同步操作
- Symbian中如何转换异步操作为同步操作
- 异步线程操作
- 应用程序对设备的同步异步操作
- ajax请求的同步和异步操作
- Generator 异步操作的同步化写法
- 线程同步与异步的区别
- 消费者与生产者的线程之间同步操作
- 消费者与生产者的线程之间同步操作
- 关键字const
- 也谈10000小时
- HTTPS和HTTP的区别
- C++实现谢尔排序(希尔排序)(shell sort)
- myeclipse安装心得
- 线程操作中同步操作与异步操作的区别
- Poedu_C++_Lesson03_1_20161223_类与对象(1)
- 多维数组和指针
- 【OpenGL超级宝典第五版】【第一章】3D图形和OpenGL简介 读书笔记
- 设计模式—原型模式
- jsp页面引入jstl标签后台报java.lang.ArrayIndexOutOfBoundsException
- 再谈10000小时,三板斧破四困境
- c++第四章复习题
- 编译Android7.1.1