io框架】的更多相关文章

socket.io框架 一.问题背景 目前公司在互联网产品上需要程序与前端部分要进行一个实时交互,在进行一定程度上的选型后,决定使用socket.io框架进行一个实践,算是公司的一个新的 尝试,也算是给自己增加增长见闻,由于我是做后端以及桌面程序开发,所以前端部分就不细聊,主要是针对桌面程序如何连接socket.io进行一个尝试 二.基本逻辑图 本地应用程序:部署在局域网内(可以联通外网),主要负责相关数据获取 Web浏览器端:跟本地应用程序不是处于同一个网络,请求发起方 中转服务(重点):中转…
什么是进程? 进程是程序运行的实例,是系统进行资源分配和调度的一个独立单位,它包括独立的地址空间,资源以及1个或多个线程. 什么是线程? 线程可以看成是轻量级的进程,是CPU调度和分派的基本单位. 进程和线程的区别? 1.调度 :从上面的定义可以看出一个是调度和分派的基本单位,一个是拥有资源的基本单位 2.共享地址空间,资源:进程拥有各自独立的地址空间,资源,所以共享复杂,需要用IPC,同步简单: 线程共享所属进程的资源,共享简单,但同步复杂,要通过加锁等措施. 3.占用内存,cpu: 进程占用…
jave.io框架 2010-11-10 22:18:34|  分类: 默认分类|举报|字号 订阅     可从IO的类层次,IO框架的设计模式来论述. 总体来说,IO可以分为字节流和字符流,不同在于字符流由字节流包装而来,在IO读入之后经过JVM处理,把字节流转换成字符流.而字符流的字符采用哪种字符编码实现由JVM默认编码决定.而每个流都分输入和输出,所以,总体来说,IO有四个顶层类: InputStream OutputStream Reader Writer 而作为机器级别于机器直接交互的…
一.流的概念        流(stream)的概念源于UNIX中管道(pipe)的概念.在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备.外部文件等.       一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个URL.        流的方向是重要的,根据流的方向,流可分为两类:输入流和输出流.用户可以从输入流中读取信息,但不能写它.相反,对输出流,只能往输入流写,而不能读它.       实际上…
大家好,并发编程 进入第九篇. 通过前两节的铺垫(关于协程的使用),今天我们终于可以来介绍我们整个系列的重点 -- asyncio. asyncio是Python 3.4版本引入的标准库,直接内置了对异步IO的支持. 有些同学,可能很疑惑,既然有了以生成器为基础的协程,我们直接使用yield 和 yield from 不就可以手动实现对IO的调度了吗? 为何Python吃饱了没事干,老重复造轮子. 这个问题很好回答,就跟为什么会有Django,为什么会有Scrapy,是一个道理. 他们都是框架,…
就io本身而言,概念上有5中模型:blocking I/O, nonblocking I/O, I/O multiplexing(select and poll), singal driven I/O, asynchronous I/O(the POSIX aio_functions). 不同的操作系统对上述模型支持不同:unix支持I/O多路复用,不同系统叫法不同:freebsd里面叫kqueue;linux是epoll.而windows 2000的时候就诞生了IOCP支持最后一种异步I/O.…
异步就是回调 异步 = 非阻塞+循环 select只能完成IO多路复用,不能完成异步 IO多路复用--->监听多个socket对象,这个过程是同步的 利用其特性可以开发异步模块 异步IO:非阻塞的socket + IO多路复用 自定义异步框架 import socket import select class HttpRequest(object): def __init__(self, sk, host, callback): self.socket = sk self.host = host…
大家好,并发编程 进入第十章.好了,今天的内容其实还挺多的,我准备了三天,到今天才整理完毕.希望大家看完,有所收获的,能给小明一个赞.这就是对小明最大的鼓励了.为了更好地衔接这一节,我们先来回顾一下上一节的内容. 上一节「」,我们首先介绍了,如何创建一个协程对象.主要有两种方法 通过async关键字, 通过@asyncio.coroutine 装饰函数. 然后有了协程对象,就需要一个事件循环容器来运行我们的协程.其主要的步骤有如下几点: 将协程对象转为task任务对象 定义一个事件循环对象容器用…
IO流的三种分类方式 1.按流的方向分为:输入流和输出流 2.按流的数据单位不同分为:字节流和字符流 3.按流的功能不同分为:节点流和处理流 (节点流表示的是直接操作节点(例如文件,键盘)的流,例如FileInputStream.处理流(过滤流)表示的是对节点流进行了操作(加工)的类,例如InputStreamReader) IO流的四大抽象类 字符流:Reader(读) Writer(写) 字节流:InputStream(读数据)  OutputStream(写数据) IO流对象继承关系 其它…
上一节我们首先介绍了,如何创建一个协程对象.主要有两种方法 通过async关键字, 通过@asyncio.coroutine 装饰函数. 然后有了协程对象,就需要一个事件循环容器来运行我们的协程.其主要的步骤有如下几点: 将协程对象转为task任务对象 定义一个事件循环对象容器用来存放task 将task任务扔进事件循环对象中并触发 上一节,其实就只是讲了协程中的单任务,我们就来看下,协程中的多任务. 协程中的并发 协程的并发,和线程一样.举个例子来说,就好像 一个人同时吃三个馒头,咬了第一个馒…