文件下载的实质就是文件拷贝,将文件从服务器端拷贝到浏览器端,所以文件下载需要IO技术将服务器端的文件读取到,然后写到response缓冲区中,然后再下载到个人客户端。 1. 文件名 - 接受前端发来的文件名 获取到前端页面发送过来的要下载的文件的名字 String filenameValue = r ...
分类:
Web程序 时间:
2020-07-13 12:01:45
阅读次数:
71
1. 何为异步调用?在解释异步调用之前,我们先来看同步调用的定义;同步就是整个处理过程顺序执行,当各个过程都执行完毕,并返回结果。 异步调用则是只是发送了调用的指令,调用者无需等待被调用的方法完全执行完毕;而是继续执行下面的流程。例如, 在某个调用中,需要顺序调用 A, B, C三个过程方法;如他们 ...
分类:
编程语言 时间:
2020-07-13 11:46:02
阅读次数:
62
按钮防止多次点击重复提交的方法, 使用pointer-events: none CSS样式,该样式意思为,当前元素不会成为点击事件的target,在一次点击事件发生之后,通过点击事件添加该属性,当异步请求返回结果后,在通过class属性将该属性移除掉。 ...
分类:
其他好文 时间:
2020-07-13 09:26:53
阅读次数:
71
同步:如果有个资源池,其中有个字符串S,如果B线程在读取这个字符串时,A线程也在修改这个字符串,就会导致B线程读取的字符串未知性。 此时,如果B线程读字符串S时,A线程不允许访问字符串S,等到B线程读完后,A线程才允许修改字符串S这样的过程叫同步。 异步:A流程请求第三方接口B之后,不需要等待B应答 ...
分类:
编程语言 时间:
2020-07-12 22:39:52
阅读次数:
116
Condition condition.await() > aqs.await():1、先addConditionWaiter(),把当前节点加入到Condition队列中(等待队列),waitStatus=-2,这个入队的流程和AQS有些类似,但是这里没有空的头结点,入队的线程节点自身就是头结点, ...
分类:
其他好文 时间:
2020-07-12 20:27:20
阅读次数:
67
目前常用的微机与外设之间进行数据传输的串行总线主要有I2C总线、SPI总线和SCI总线。 其中I2C总线以同步串行2线方式进行通信(一条时钟线,一条数据线)。 SPI总线则以同步串行3线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线)。 SCI总线是以异步方式进行通信(一条数据输入线,一条 ...
分类:
其他好文 时间:
2020-07-12 17:14:08
阅读次数:
73
同步和异步,阻塞和非阻塞是大家经常会听到的概念,但是它们是从不同维度来描述一件事情,常常很容易混为一谈。 ##1. 同步和异步 同步和异步描述的是消息通信的机制。 ###同步 当一个request发送出去以后,会得到一个response,这整个过程就是一个同步调用的过程。哪怕response为空,或 ...
分类:
其他好文 时间:
2020-07-12 13:54:01
阅读次数:
242
什么是消息队列? 就是生产者生产一条消息,发送到这个rabbitmq,消费者连接rabbitmq并且进行消费,生产者和消费者并需要知道对方是如何工作的,从而实现程序之间的解耦,异步和削峰,这也就是消息队列的作用。 使用的场景也有很多,比如用户支付购买之后的发送短信,增加用户积分等等,只要能将业务逻辑 ...
分类:
其他好文 时间:
2020-07-11 19:12:08
阅读次数:
80
Ajax 原理介绍 ajax的主要目的是异步处理,也就是刷新整个页面获取数据。就像我们在填写一些表单时候,还没提交系统就会提示是否正确,大大提高了用户体验。 主要原理:在浏览器中存在一个·XHR对象,按照我的理解,XHR在浏览器和服务器之间是一种代理模式,XHR代替浏览器向服务器发送请求,然后再把返 ...
分类:
Web程序 时间:
2020-07-11 17:30:34
阅读次数:
73
// 开启协程化,文件操作,sleep,Mysqli,PDO,streams等都变成异步IO Co::set(['hook_flags'=> SWOOLE_HOOK_ALL]); $s = microtime(true); // 创建协程容器 Co\run(function() { // 开启100 ...
分类:
其他好文 时间:
2020-07-11 17:23:32
阅读次数:
79