码迷,mamicode.com
首页 >  
搜索关键字:事件驱动    ( 1803个结果
node.js在windows下的学习笔记(4)---同步,异步,回调的概念
Node.js是使用事件驱动的,非阻塞的I/O模型,用于构建快速的,可扩展的网络应用程序。Node.js想解决的问题是:处理输入,输入,高并发1.阻塞与非阻塞阻塞也叫同步,是指每一次执行一个操作,在这个操作完成之前,代码的执行会被阻塞,无法移到下一个操作上。阻塞就相当于你在超市里面买东西,结账,在排...
分类:Windows程序   时间:2014-09-15 02:11:47    阅读次数:352
第一章 Windows程序内部运行机制(3)消息与消息队列
在Windows中,用户程序可以调用系统的API函数,系统也会调用用户程序,这个调用时通过消息来进行的。 Windows程序设计是一种事件驱动方式的程序设计模式,主要基于消息。 【例】当用户在窗口中画图的时候,按下鼠标左键,操作系统就会感知到这一事件,于是将这个事件包装成一个消息,投递到应用...
分类:Windows程序   时间:2014-09-14 11:14:26    阅读次数:210
Mina、Netty、Twisted一起学(六):session
在同步阻塞的网络编程中,代码都是按照TCP操作顺序编写的,即创建连接、多次读写、关闭连接,这样很容易判断这一系列操作是否是同一个连接。而在事件驱动的异步网络编程框架中,IO操作都会触发一个事件调用相应的事件函数,例如接收到客户端的新数据,会调用messageReceived(MINA)、channelRead(Netty)、dataReceived(Twisted),同一个TCP连接的多次请求和多个客户端请求都是一样的。 那么如何判断多次请求到底是不是同一个TCP连接,如何保存连接相关的信息?针对这个问题,...
分类:Web程序   时间:2014-09-10 14:13:00    阅读次数:208
ZF2小TIP:使用事件驱动为模块快速设置模板
<?php namespace Admin; use Zend\ModuleManager\ModuleManager; class Module { public function init(ModuleManager $moduleManager) { $sharedEvents = $moduleManager->getEventManager()...
分类:其他好文   时间:2014-09-10 12:48:00    阅读次数:149
Node.js学习笔记(4)——除了HTTP(服务器和客户端)部分
很多node入门的书里面都会在介绍node特性的时候说:单线程,异步式I/O,事件驱动。Node不是一门语言,它是运行在服务器端的开发平台,官方指定语言为javascript。阻塞和线程:线程在执行中如果遇到磁盘读写或网络通信(统称为 I/O 操作),通常要耗费较长的时间,这时操作系统会剥夺这个线程...
分类:Web程序   时间:2014-09-09 12:21:28    阅读次数:209
[gevent源码分析] gevent两架马车-libev和greenlet
本篇将讨论gevent的两架马车-libev和greenlet如何协同工作的。gevent事件驱动底层使用了libev,我们先看看如何单独使用gevent中的事件循环。#coding=utf8 import socket import gevent from gevent.core import loop def f(): s, address = sock.accept() p...
分类:其他好文   时间:2014-09-08 01:04:46    阅读次数:396
Jetty开发指导:Jetty Websocket API
Jetty WebSocket API使用Jetty提供了功能更强的WebSocket API,使用一个公共的核心API供WebSockets的服务端和client使用。他是一个基于WebSocket消息的事件驱动的API。WebSocket事件每一个WebSocket都能接收多种事件:On Con...
分类:Windows程序   时间:2014-09-05 15:53:31    阅读次数:488
reactor设计模式
reactor设计模式,是一种基于事件驱动的设计模式。《Pattern-Oriented Software Architecture, Volume 2》对这个模式做了具体的解说。这个模式的结构图例如以下:图中的handle相应的是操作系统提供的句柄,比如I/O句柄,Event_Handler类持有...
分类:其他好文   时间:2014-09-05 12:47:51    阅读次数:220
使用 libevent 和 libev 提高网络应用性能——I/O模型演进变化史
构建现代的服务器应用程序需要以某种方法同时接收数百、数千甚至数万个事件,无论它们是内部请求还是网络连接,都要有效地处理它们的操作。 有许多解决方案,但事件驱动也被广泛应用到网络编程中。并大规模部署在高连接数高吞吐量的服务器程序中,如 http 服务器程序、ftp 服务器程序等。相比于传统的网络编程方式,事件驱动能够极大的降低资源占用,增大服务接待能力,并提高网络传输效率。 这些事件驱动模型中, libevent 库和 libev库能够大大提高性能和事件处理能力。在本文中,我们要讨论在...
分类:其他好文   时间:2014-09-05 04:29:41    阅读次数:394
node.js 异步式I/O 与事件驱动
Node.js 最大的特点就是异步式 I/O(或者非阻塞 I/O)与事件紧密结合的编程模式。这种模式与传统的同步式 I/O 线性的编程思路有很大的不同,因为控制流很大程度上要靠事件和回调函数来组织,一个逻辑要拆分为若干个单元。阻塞与线程什么是阻塞(block)呢?线程在执行中如果遇到磁盘读写或网络通...
分类:Web程序   时间:2014-09-04 22:10:10    阅读次数:300
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!