随笔分类 -  网络编程

摘要:一、IO模型介绍 1,主要的五种模型:阻塞IO、非阻塞IO、IO多路复用、信号驱动IO(不常用)、异步IO 对于一个network IO,它会涉及到两个系统对象,一个是调用这个IO的process(Thread),另一个是系统内核。当一个read/recv读数据的操作发生时,该操作会经历两个阶段: 阅读全文
posted @ 2018-12-04 21:00 W的一天 阅读(3281) 评论(0) 推荐(0)
摘要:一、什么协程 协程是指在单线程下实现并发,意思就是在一个线程中,实现任务之间的来回切换。我们之前讲的进程、线程,遇到IO阻塞,都是由操作系统来调度进行切换,不是有我们能控制的,但协程就是有我们来决定在哪进行切换。 二、用生成器实现任务之间的切换 三、用greenlet实现任务之间的切换 四、协程的实 阅读全文
posted @ 2018-12-04 17:01 W的一天 阅读(568) 评论(0) 推荐(0)
摘要:一、线程的起源 1,进程 之前我们已经了解了操作系统中进程的概念,程序并不能单独运行,只有将程序装载到内存中,系统为其分配资源才能运行,而这种执行的程序就称之为进程。程序和进程的区别就在于:程序是指令的集合,它是进程运行的静态描述文本;进程是程序的一次活动,属于动态概念。在多道编程中,我们允许多个程 阅读全文
posted @ 2018-12-02 17:25 W的一天 阅读(931) 评论(0) 推荐(0)
摘要:一、什么是进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程 阅读全文
posted @ 2018-11-28 21:17 W的一天 阅读(1249) 评论(0) 推荐(1)
摘要:一、缓冲区 每个 socket 被创建后,都会分配两个缓冲区,输入缓冲区和输出缓冲区。write()/send() 并不立即向网络中传输数据,而是先将数据写入缓冲区中,再由TCP协议将数据从缓冲区发送到目标机器。一旦将数据写入到缓冲区,函数就可以成功返回,不管它们有没有到达目标机器,也不管它们何时被 阅读全文
posted @ 2018-11-24 10:54 W的一天 阅读(1353) 评论(0) 推荐(0)
摘要:从今年10月22号开始我的python学习之路,一个月下来,磕磕碰碰,勉勉强强把基础部分算是学完了,一个月走过来,我过着别人看似单调,重复的生活,确实是,每天,每周都是一样的生活模式,早上7点40起床,吃个早餐,8点到达教室,中午1点去吃个午饭,然后回到教室,下午6点去吃个晚饭,然后回到教室,待到晚 阅读全文
posted @ 2018-11-23 19:55 W的一天 阅读(1095) 评论(0) 推荐(4)