假如要发100封邮件,for循环100遍,用户直接揭竿而起,什么破网站!但实际上,我们很可能有超过1万的邮件。怎么处理这个延迟的问题?答案就是用异步。把“发邮件”这个操作封装,然后后台异步地执行1万遍。这样的话,用户提交网页后,他所等待的时间只是“把发邮件任务请求推送进队列里”的时间。而我们的后台服 ...
分类:
其他好文 时间:
2017-10-25 19:40:07
阅读次数:
295
先上例子! 我们在html中插入这样一段代码,然后去控制台看看会是什么结果? 哎哟!什么情况,预想中的博客园呢?js不是单线程语言吗(从上到下执行)?按道理应该是博客园呀!--OK,这正式引出了我说的问题,js的运行机制。 首先js为什么是单线程?这要从js的诞生说起,早年js被发明出来是干嘛用的? ...
分类:
编程语言 时间:
2017-10-13 21:25:21
阅读次数:
217
在 JavaScript 的世界中,所有代码都是单线程执行的 由于这个“缺陷”,导致 JavaScript 的所有网络操作,浏览器事件,都必须是异步执行。异步执行可以用回调函数实现 异步操作会在将来的某个时间点触发一个函数调用 主流的异步处理方案主要有:回调函数 (CallBack) 、 Promi ...
分类:
编程语言 时间:
2017-09-22 22:29:47
阅读次数:
193
promise作用: 用来控制异步执行代码的执行顺序 如: 登录执行后跳转到登录页面 promise定义: Promise的构造函数接收一个参数,是函数,并且传入两个参数:resolve,reject,分别表示异步操作执行成功后的回调函数和异步操作执行失败后的回调函数。 resolve函数的参数代表 ...
分类:
其他好文 时间:
2017-09-18 18:53:45
阅读次数:
146
AsyncTask AsyncTask 是一种轻量级的异步任务类,可以在线程池中执行后台任务,然后把执行的进度和最终结果传递给主线程用于更新UI。 可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程. ...
分类:
编程语言 时间:
2017-09-18 11:20:10
阅读次数:
236
假如面试回答js的运行机制时,你可能说出这么一段话:“Javascript的事件分同步任务和异步任务,遇到同步任务就放在执行栈中执行,而碰到异步任务就放到任务队列之中,等到执行栈执行完毕之后再去执行任务队列之中的事件。”但你能说出背后的原因吗? 1.线程与进程 进程:是系统资源分配和调度的单元。一个 ...
分类:
编程语言 时间:
2017-09-17 20:53:59
阅读次数:
203
参考相关博客:http://blog.csdn.net/liuhe688/article/details/6532519 在Android中实现异步任务机制有两种方式,Handler和AsyncTask。 Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程 ...
分类:
移动开发 时间:
2017-09-14 12:03:46
阅读次数:
293
Celery 4.0支持django1.8及以上的版本,低于1.8的项目使用Celery 3.1。 一个django项目的组织如下: 首先建立proj/proj/celery.py文件: 然后要保证django项目启动时上述的app被载入,修改proj/proj/__init__.py文件: 现在就 ...
分类:
其他好文 时间:
2017-09-14 10:19:53
阅读次数:
208
最近在读《JavaScript高级程序设计》这一本书,里面提到了JavaScript的特征,倍感兴趣,于是结合自己的认识,在这里进行一下总结。 1、JavaScript的垃圾回收机制 javaScript中的5种数据类型存放在栈中(Undefined、Null、Boolean、Number、Stri ...
分类:
编程语言 时间:
2017-09-13 11:13:27
阅读次数:
221
1. 简介 Promise 对象是 CommonJS 工作组提出的一种规范,目的是为异步操作提供统一接口. 首先,它是一个对象,其次,它起到代理作用(proxy),充当异步操作与回调函数之间的中介。 简单说,它的思想是,每一个异步任务立刻返回一个Promise对象,由于是立刻返回,所以可以采用同步操 ...
分类:
Web程序 时间:
2017-09-12 19:46:31
阅读次数:
187