轮询、中断、DMA和通道】的更多相关文章

android中涉及到将服务器中数据变化信息通知用户一般有两种办法,推送和轮询. 消息推送是服务端主动发消息给客户端,因为第一时间知道数据发生变化的是服务器自己,所以推送的优势是实时性高.但服务器主动推送需要单独开发一套能让客户端持久连接的服务端程序,不过现在已经有很多开源的代码实现了基于xmmp协议的推送方案,而且还可以使用谷歌的推送方案.但有些情况下并不需要服务端主动推送,而是在一定的时间间隔内客户端主动发起查询. 譬如有这样一个app,实时性要求不高,每天只要能获取10次最新数据就能满足要…
from http://blog.csdn.net/lastsweetop/article/details/3418769 一.轮询方式 对I/O设备的程序轮询的方式,是早期的计算机系统对I/O设备的一种管理方式.它定时对各种设备轮流询问一遍有无处理要求.轮流询问之后,有要求的,则加以处理.在处理I/O设备的要求之后,处理机返回继续工作. 尽管轮询需要时间,但轮询不比I/O设备的速度要快得多,所以一般不会发生不能及时处理的问题.  当然,再快的处理机,能处理的输入输出设备的数量也是有一定限度的.…
本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/35735397 假设是计算机专业出身的同学,都听过一个概念,中断比轮询要好.DMA比中断要好. 中断比轮询要好,是easy理解的: 在轮询中,CPU是死循环运行对IOport的检測,这样的模式,大量的浪费了CPU(由于CPU除了处理外设之外,很多其它的时间应该用于对内存的操作,如计算等). 而中断方式,则没有死循环的浪费,CPU能够正常做别的事情,等到…
Ⅰ.写在前面 关注我分享文章的朋友应该知道我在前面讲述过(软件.硬件)I2C主机控制从机EEPROM的例子.在I2C通信主机控制程序是比较常见的一种,可以说在实际项目中,很多应用都会使用到I2C通信.但在实际项目中作为I2C从机的应用相对要少的多,本文主要讲述关于[STM32F10x_硬件I2C主从通信]中STM32作为从机的例子. 在学习本问内容之前,如果对I2C协议还不太了解的朋友请先去了解一下I2C协议,或看我之前关于I2C通信的文章(我微信公众号和博客都有). 关于STM32硬件I2C作…
轮询顾名思义,CPU不停的询问,CPU很忙. 中断和轮询不同,是硬件上的,就像一个开关被按下了,没有什么东西在不停的询问开关有没有被按下,开关只是被按下了,就通电了,通电了就会发声一些事情. 可以看看 http://ruby-china.org/topics/4920 之中的讨论…
轮询.事件驱动.消息驱动.流式驱动 ---数据流驱动 Unidirectional Architecture? 中断.事件.消息这样一种机制来实现更好的在多任务系统里运行... 阻塞,非阻塞同步,异步? 并行,串行,并发,多线程... 经典软件设计模型 - 事件驱动模型http://blog.csdn.net/gykimo/article/details/9182287 Android 程序架构: MVC.MVP.MVVM.Unidirectional.Clean...http://www.cn…
区别1:中断USART1_IRQHandler()不放进main(主函数)里,而轮询检测rcv()需要: 但是需要在主函数里对中断NVIC()进行初始化,因为所有程序都是从主函数开始一步一步执行,想要以后进入中断程序,必须检测到有中断{大开关},此外,中断检测串口输入,还需要在串口函数定义里使能中断{小开关} 分析:中断方式:正常情况下先执行main里面的其他内容,当有串口输入时,产生并进入中断函数主体(没有的话,就一直执行main里面的内容). 轮询rcv():每次在main里面强制执行. L…
中断方式与轮询方式比较   中断的基本概念 程序中断通常简称中断,是指CPU在正常运行程序的过程中,由于预选安排或发生了各种随机的内部或外部事件,使CPU中断正在运行的程序,而转到为相应的服务程序去处理,这个过程称为程序中断. 二.80x86微处理器的中断 80x86微处理器的中断类型一般分为2类,即由于执行某些指令引起的软中断和由处理器以外其他控制电路发出中断请求信号引起的硬中断. CPU要从主程序转入中断服务程序,必须知道该中断服务程序的入口地址,即中断向量.80x86为CPU的PC机共有2…
S5PV210 UART 相关说明 通用异步收发器简称 UART, 即 UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTER,它用来传输串行数据.发送数据时, CPU 将并行数据写入 UART,UART 按照一定的格式在一根电线上串行发出:接收数据时, UART 检测另一根电线的信号,将串行收集在缓冲区中, CPU 即可读取 UART 获得这些数据. 在 S5PV210 中, UART 提供了 4 对独立的异步串口 I/O 端口,有 4 个独立的通道,每…
comet:(原意:彗星) Comet is a web application model in which a long-held(held:保留) HTTP request allows a web server to push data to a browser, without the browser explicitly requesting it.[1][2] Comet is an umbrella term,(概括词) encompassing multiple techniq…
与现代传感器的接口:轮询ADC驱动程序 Interfacing with modern sensors: Polled ADC drivers 我们研究了在现代嵌入式应用程序中,开发人员应该如何创建一个接口,将底层驱动程序实现细节与应用程序代码分离.这个接口提供了一个体系结构抽象,通过减少对硬件的依赖,提高了应用程序代码的可伸缩性和可移植性. 现在我们将开始研究几种不同的方法,开发人员可以根据我们在3个微控制器驱动程序设计技术中讨论的技术来实现ADC驱动程序.在本文中,我们将更详细地研究如何使用…
两周前用长轮询做了一个Chat,并移植到了Azure,还写了篇博客http://www.cnblogs.com/indream/p/3187540.html,让大家帮忙测试. 首先感谢300位注册用户,让我有充足的数据进行重构和优化.所以这两周都在进行大重构. 其中最大的一个问题就是数据流量过大,原先已有更新,还会有Web传统“刷新”的形式把数据重新拿一次,然后再替换掉本地数据. 但这一拿问题就来了,在10个Chat*300个用户的情况下,这一拿产生了一次8M多的流量,这是十分严重的事情,特别是…
引言 最近刚到公司不到一个月,正处于熟悉项目和源码的阶段,因此最近经常会看一些源码.在研究一个项目的时候,源码里面用到了HTTP的长轮询.由于之前没太接触过,因此LZ便趁着这个机会,好好了解了一下HTTP的长长短短. 了解的方式主要都是LZ在网络上获取的,这里只是谈一下LZ对于这四种叫法最直观的理解.如果你之前不懂的话,可以帮你普及一下,如果你之前就懂得话,可以互相对照一下. 以前的误解 很久之前LZ就听说过长连接的说法,而且还知道HTTP1.0协议不支持长连接,从HTTP1.1协议以后,连接默…
Web 通信 之 长连接.长轮询(long polling) 基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性. 一.什么是长连接.长轮询? 用通俗易懂的话来说,就是客户端不停的向服务器发送请求以获取最新的数据信息.这里的“不停”其实是有停止的,只是我们人眼无法分辨是否停止,它只是一种快速的停下然后又立即开始连接而已. 二.长连接.长轮询的应用场景 长连接.长轮询一般应用与WebIM.ChatR…
基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性. 一.什么是长连接.长轮询? 用通俗易懂的话来说,就是客户端不停的向服务器发送请求以获取最新的数据信息.这里的“不停”其实是有停止的,只是我们人眼无法分辨是否停止,它只是一种快速的停下然后又立即开始连接而已. 二.长连接.长轮询的应用场景 长连接.长轮询一般应用与WebIM.ChatRoom和一些需要及时交互的网站应用中.其真实案例有:WebQQ…
网卡设备对应一个中断号, 当网卡收到网络端的消息的时候会向CPU发起中断请求, 然后CPU处理该请求. 通过驱动程序 进而操作系统得到通知, 系统然后通知epoll, epoll通知用户代码.  一. 阻塞 VS 非阻塞 首先我们来定义流的概念,一个流可以是file,socket,pipe等可以进行I/O操作的内核对象. 我们需要从流中读数据,但是流中还没有数据,典型的例子为,客户端要从socket读如数据,但是服务器还没有把数据传回来,这时候该怎么办? 阻塞:  比如你在等快递,但是你不知道快…
基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性. 一.什么是长连接.长轮询? 用通俗易懂的话来说,就是客户端不停的向服务器发送请求以获取最新的数据信息.这里的“不停”其实是有停止的,只是我们人眼无法分辨是否停止,它只是一种快速的停下然后又立即开始连接而已. 二.长连接.长轮询的应用场景 长连接.长轮询一般应用与WebIM.ChatRoom和一些需要及时交互的网站应用中.其真实案例有:WebQQ…
引言 最近刚到公司不到一个月,正处于熟悉项目和源码的阶段,因此最近经常会看一些源码.在研究一个项目的时候,源码里面用到了HTTP的长轮询.由于之前没太接触过,因此LZ便趁着这个机会,好好了解了一下HTTP的长长短短. 了解的方式主要都是LZ在网络上获取的,这里只是谈一下LZ对于这四种叫法最直观的理解.如果你之前不懂的话,可以帮你普及一下,如果你之前就懂得话,可以互相对照一下. 以前的误解 很久之前LZ就听说过长连接的说法,而且还知道HTTP1.0协议不支持长连接,从HTTP1.1协议以后,连接默…
HTTP协议中的短轮询.长轮询.长连接和短连接 引言 最近刚到公司不到一个月,正处于熟悉项目和源码的阶段,因此最近经常会看一些源码.在研究一个项目的时候,源码里面用到了HTTP的长轮询.由于之前没太接触过,因此LZ便趁着这个机会,好好了解了一下HTTP的长长短短. 了解的方式主要都是LZ在网络上获取的,这里只是谈一下LZ对于这四种叫法最直观的理解.如果你之前不懂的话,可以帮你普及一下,如果你之前就懂得话,可以互相对照一下. 以前的误解 很久之前LZ就听说过长连接的说法,而且还知道HTTP1.0协…
  上一篇文章介绍了ajax技术核心方法,和跨域的问题(只要后台支持跨域默认post就可以),这篇文章讲解一下使用ajax实现的轮询技术,至于iframe,SSE服务器单向推送,以及webSocket双工通道暂时不涉及. 一些概念: 短轮询:浏览器通过循环或者setTimeout方法,每隔一段时间往后台发送一次请求,无线循环 长轮询:不停的向后台请求数据,但是后台如果检测不到数据变动,就会将这个请求挂掉.如果检测到数据变动,就会响应这个请求变动数据 区别概念: 长连接:在进行http数据传输的时…
前两天处理过一个故障,是S7-200 Smart与V20的USS通讯,设备厂家在程序里面利 用USS_RPM _R程序循环轮询5个V20设备读取频率和电流值等信息. 图 USS_RPM_R读取信息 上图是第一个站点的读取,其采用的控制方式是利用状态位SM0.0 置位M13.0 = 1, 然后 通过上面的程序段进行读取参数,然后再利用M13.1这个标志位,再做为下一个站点的XMT和 EN信号,同时复位M13.0 = 0: 依次类推一直轮询完5个站点后,再重新设置M13.0 = 1 开始新 一轮的查…
Web客户端与服务器之间基于Ajax(http)的常用通信方式,分为短连接与长轮询. 短连接:客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接. 在长轮询机制中,客户端像传统轮询一样从服务器请求数据.然而,如果服务器没有可以立即返回给客户端的数据,则不会立刻返回一个空结果, 而是保持这个请求等待数据到来(或者恰当的超时:小于ajax的超时时间),之后将数据作为结果返回给客户端. 长轮询机制如下图所示: web客户端代码如下: //向后台长轮询消息 function lon…
本篇文章转载自Web 通信之长连接.长轮询(longpolling),版权归作者所有. 转者按:随着技术的发展,在HTML5中,可以通过WebSocket技术来完成长连接的开发,虽然如此,本文依然存在着了解的价值. 基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性. 一.什么是长连接.长轮询 用通俗易懂的话来说,就是客户端不停的向服务器发送请求以获取最新的数据信息.这里的“不停”其实是有停止的,…
基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性. 一.什么是长连接.长轮询? 用通俗易懂的话来说,就是客户端不停的向服务器发送请求以获取最新的数据信息.这里的“不停”其实是有停止的,只是我们人眼无法分辨是否停止,它只是一种快速的停下然后又立即开始连接而已. 二.长连接.长轮询的应用场景 长连接.长轮询一般应用与WebIM.ChatRoom和一些需要及时交互的网站应用中.其真实案例有:WebQQ…
作者:伯乐在线专栏作者 - 左潇龙 http://web.jobbole.com/85541/ 如有好文章投稿,请点击 → 这里了解详情 引言 最近刚到公司不到一个月,正处于熟悉项目和源码的阶段,因此最近经常会看一些源码.在研究一个项目的时候,源码里面用到了HTTP的长轮询.由于之前没太接触过,因此LZ便趁着这个机会,好好了解了一下HTTP的长长短短. 了解的方式主要都是LZ在网络上获取的,这里只是谈一下LZ对于这四种叫法最直观的理解.如果你之前不懂的话,可以帮你普及一下,如果你之前就懂得话,可…
Node.js的第一个基本论点是I/O开销很大. 当前编程技术中等待I/O完成会浪费大量的时间.有几种方法可以处理这种性能上的影响: 同步:每次处理一个请求,依次处理.优点:简单:缺点:任何一个请求都可以阻塞所有其他的请求. Fork一个新进程:开一个新进程来处理每个请求.优点:容易:缺点:不能很好的扩展,成百上千个连接意味着成百上千个进程.fork()函数相当于Unix程序员的锤子,因为它很有用,每个问题看起来就像一个钉子,通常会被过度使用.(译者注:直译比较拗口,我理解的意思是,Unix程序…
长连接.短连接,指的是TCP连接.长连接是为了复用TCP连接. 长轮询中,服务器如果检测到库存量没有变化的话,将会把当前请求挂起一段时间(这个时间也叫作超时时间,一般是几十秒).在这个时间里,服务器会去检测库存量有没有变化,检测到变化就立即返回,否则就一直等到超时为止. HTTP协议是基于请求/响应模式的,因此只要服务端给了响应,本次HTTP连接就结束了,或者更准确的说,是本次HTTP请求就结束了,根本没有长连接这一说. TCP连接是一个双向的通道,它是可以保持一段时间不关闭的,因此TCP连接才…
上一篇文章介绍了ajax技术核心方法,和跨域的问题(只要后台支持跨域默认post就可以),这篇文章讲解一下使用ajax实现的轮询技术,至于iframe,SSE服务器单向推送,以及webSocket双工通道暂时不涉及. 一些概念: 短轮询:浏览器通过循环或者setTimeout方法,每隔一段时间往后台发送一次请求,无线循环 长轮询:不停的向后台请求数据,但是后台如果检测不到数据变动,就会将这个请求挂掉.如果检测到数据变动,就会响应这个请求变动数据 区别概念: 长连接:在进行http数据传输的时候,…
Web 通信 之 长连接.长轮询(long polling) 基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性. 一.什么是长连接.长轮询? 用通俗易懂的话来说,就是客户端不停的向服务器发送请求以获取最新的数据信息.这里的“不停”其实是有停止的,只是我们人眼无法分辨是否停止,它只是一种快速的停下然后又立即开始连接而已. 二.长连接.长轮询的应用场景 长连接.长轮询一般应用与WebIM.ChatR…
短连接 建立连接——数据传输——关闭连接...建立连接——数据传输——关闭连接 定义:短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送. 应用场景:WEB网站的http服务一般都用短连接(http 1.0一般就指短连接) 优点:1.不需要长期占用通道,对于业务频率不高的场合,能节省通道的使用. 2.短连接对于服务器来说管理较为简单,存在的连接都是有用的连接,不需要额外的控制手段. 缺点:需要在每次发送业务时,都要建立一次连接,在TCP的…