随笔分类 - 程序员应该理解的计算机

摘要:你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店 阅读全文
posted @ 2017-01-13 10:36 张瑜 阅读 (162) | 评论 (0) 编辑
摘要:Python通过yield提供了对协程的基本支持,但是不完全。而第三方的gevent为Python提供了比较完善的协程支持。 gevent是第三方库,通过greenlet实现协程,其基本思想是: 当一个greenlet遇到IO操作时,比如访问网络,就自动切换到其他的greenlet,等到IO操作完成 阅读全文
posted @ 2016-08-29 16:13 张瑜 阅读 (971) | 评论 (0) 编辑
摘要:一、概念 1、进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程 阅读全文
posted @ 2016-06-27 15:19 张瑜 阅读 (31249) | 评论 (2) 编辑
摘要:进程、线程和协程的理解 进程、线程和协程之间的关系和区别也困扰我一阵子了,最近有一些心得,写一下。 进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度。 线程拥有自己独立的栈和共享的堆,共享堆,不共享栈,线程亦由操作系统调度(标准线程是的)。 协程和线程一样共享堆,不共享栈,协程由 阅读全文
posted @ 2016-06-22 15:53 张瑜 阅读 (140) | 评论 (0) 编辑
摘要:事件驱动模型一般是由事件收集器、事件发送器和事件处理器三部分组成基本单元组成。 一、select库 select库是各个版本的linux和windows平台都支持的基本事件驱动模型库,并且在接口的定义上也基本相同,只是部分参数的含义略有差异。 使用select库的一般步骤:创建所关注事件的描述集合。 阅读全文
posted @ 2016-06-16 14:04 张瑜 阅读 (2708) | 评论 (0) 编辑
摘要:一、同步和异步 网络通信中的同步机制和异步机制是描述通信模式的概念。 同步机制:是指发送方发送消息后,需要等待接收到接收方发回的响应后,才接着发送下一个请求。 在同步机制中,所有的请求在服务器端得到同步,发送和接收方对请求的处理步调是一致的。 异步机制:发送方发出一个请求后,不等待接收方响应这个请求 阅读全文
posted @ 2016-06-16 11:57 张瑜 阅读 (350) | 评论 (0) 编辑
摘要:一、多进程 多进程方式是指,服务器在接收到一个客户端请求时,就由服务器主进程生成一个子进程出来和该客户端进行交互,直到连接断开,该子进程就结束了。 优点:设计和实现相对简单,各个子进程之间相互独立,处理客户端的请求彼此不会受到干扰,并且当一个子进程产生问题时,不容易将影响蔓延到其他进程中,这保证了提 阅读全文
posted @ 2016-06-16 11:29 张瑜 阅读 (380) | 评论 (0) 编辑
摘要:你看到的unicode字符集是这样的编码表: I 0049 t 0074 ' 0027 s 0073 0020 知 77e5 乎 4e4e 日 65e5 报 62a5 每一个字符对应一个十六进制数字。计算机只懂二进制,因此,严格按照unicode的方式(UCS-2),应该这样存储: I 000000 阅读全文
posted @ 2016-06-15 14:19 张瑜 阅读 (58) | 评论 (0) 编辑
摘要:一、ASCII(American Standard Code for Information Interchange,美国信息互换标准代码) 是基于罗马字母表的一套电脑编码系统,它主要用于显示现代英语和其他西欧语言。 它是现今最通用的单字节编码系统,并等同于国际标准ISO 646。 包含内容: 控制 阅读全文
posted @ 2016-06-15 11:53 张瑜 阅读 (730) | 评论 (0) 编辑
摘要:http://pan.baidu.com/s/1pLByvUF 阅读全文
posted @ 2016-06-14 15:45 张瑜 阅读 (193) | 评论 (0) 编辑