同步执行与异步执行

计算机程序执行分为同步执行和异步执行

(1)同步执行

所谓的同步执行,就是正常的计算机程序执行的3大顺序流程:

顺序控制语句:从上至下,从左至右

分支控制语句:if,switch

循环控制语句:for(),while,do...while,for...in,forEach()

(2)异步执行

所谓的异步执行,是一种特殊的程序的执行方式:

setInterval(定时器),setTimeout(延时器)

事件的绑定 onclick,onopen,onscroll...

ajax请求

(3)同步执行与异步执行

          

(如图所示,我们可以总结出异步程序执行的过程)

?异步程序执行的过程

1,从一行代码开始执行程序

2,同步程序正常执行

3,如果发现是异步程序,暂时不执行.存储在异步池中,等待执行

4,将程序中所有的同步程序执行完毕后

5,开启异步池,执行异步程序

当设定的时间到达,就会执行对应的异步升序

先到设定时间的异步程序,先执行

如果设定的时间相同,看异步程序的顺序,来执行

必须要牢记,异步程序的执行,一定是在所有同步程序执行结束之后,才会开始执行

原文地址:https://www.cnblogs.com/gnn0804/p/12643985.html

时间: 2024-11-10 13:00:05

同步执行与异步执行的相关文章

什么是异步执行?异步执行和多线程执行的不同?

什么是异步执行? 异步执行:就是不需要等待别的任务完,就立刻执行同步执行刚好相反,异步执行,所以可以多个进程执行 异步跟多线程有什么区别? 异步同步是交互方式?多线程是性能任务的说法

GCD网络多线程---同步执行,异步执行,串行队列,并行队列

总结:同步(不管是串行还是并行)----不开辟子线程 异步(不管是串行还是并行)----开辟子线程 GCD: dispatch queue 主线程的main queue 并行队列 global dispatch queue 串行队列serial queues 一般用于按顺序同步访问 #pragma mark - 加载多线程 - (void) _loadMutil { //GCD基于C语言 //1.主对列:(串行队列) dispatch_queue_t mainQueue=dispatch_get

Celery 3 版本 定时执行与 异步执行 | Django 案例

Celery介绍 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery. 软件架构 Django案例 环境 * python3.6.4 * django 2.0 * django-celery==3.2.1 * django-kombu==0.9.4 * celery-with-redis==3.0 * celery==3.1.25 目录结构 autoops/ autoops/se

同步程序与异步程序执行原理

JavaScript中计算机程序分为同步执行与异步执行.同步执行:就是正常的计算机程序的执行, 顺序控制语句:从上到下,从左到右 循环控制语句:for,while,do...while,for...in,forEah() 分支控制语句:if,switch异步执行:是一种特殊的程序执行程序.setInterval,setTimeout,事件的绑定:onclick.ajex请求.所谓的异步程序的执行: 1:所有的异步程序都是在同步程序结束之后再执行. 2:异步程序的执行,如果时间相同,看代码的先后顺

关于异步执行

异步执行模式 异步执行模式,是指语句在异步执行模式下,各语句执行结束的顺序与语句执行开始的顺序并不一定相同. 例如 查询操作,客户机上的应用程序在向服务器发出了查 询操作的指令后,将立刻执行查询语句指令的下一条 语句,而不需要等到服务器将查询结果返回客户机端.异步执行方式使应用程序能摆 脱单个任务的牵制,提高了灵活性和应用程序的执行 效率.但异步执行模式也存在一些问题,如它增加了编程的复杂性,特别是编写互用性(interoperable)要求较高 的程序. 在负荷很重的客户/服务器系 统中,适宜

简单说下异步执行原理。

计算机程序执行分为同步执行,和异步执行: 所谓的异步执行,是一种特殊的程序的执行方式,常见的异步程序有 定时器(setInterval),延时器(setTimeou),各种事件的绑定(onclick......),ajax请求 异步程序的执行过程 1.从第一行代码开始执行 2.同步程序开始执行 3.遇到异步程序了,暂时不执行,将异步程序暂时存储在“异步池”中 4.所有的同步程序执行完毕 5.开始执行“异步池”中的异步程序 若有设定了时间的程序,就会先执行到点了的程序 若有设定的时间是相同的程序,

使用HTTP的同步方式还是异步方式?

同步与异步 同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕 GET与POST GET 最为常见的HTTP请求,普通上网浏览页面就是GET.GET方式的参数请求直接跟在URL后,以问号开始.(JS中用 window.location.search获得).参数可以用encodeURIComponent进行编码,使用方式: var EnParam = encodeURI

ajax同步、异步执行简单理解与证明

此理解范例代码来自前几篇随笔! 重在实际操作练习一下!!!!! 在$.ajax()中我们可以常常看到async,这就是来指定ajax同步异步的,需要记忆一下: 记忆方法: sync英语中的意思是:“同步”.“同步的”.“同步处理” 前面加个“a”,构成async英文中的意思是:“异步” 再者给他指定true和false那就容易理解了: “async:true” 意思是:“异步” “async:false” 意思是:“同步” 分析async作用: 当“async:true”时,也就是异步执行aja

thread.join 从异步执行变成同步

Java的线程模型为我们提供了更好的解决方案,这就是join方法.在前面已经讨论过,join的功能就是使用线程 从异步执行变成同步执行 当线程变成同步执行后,就和从普通的方法中得到返回数据没有什么区别了.因此,可以使用如下的代码更有效地解决这个问题: Java代码 thread.start(); thread.join(); ... 在thread.join()执行完后,线程thread的run方法已经退出了,也就是说线程thread已经结束了.因此,在thread.join()后面可以放心大胆