摘要: 队列 栈 优先级队列 事件event ​ 如果程序中的其他线程需要通过判断某个线程的状态来确定自己下一步的操作 版本一 版本二 ​ 开启两个线程, 一个线程运行到中间的某个阶段, 触发另一个线程执行. 两个线程增加了耦合性 练习 ​ 一个线程监测服务器是否开始, 另一个线程判断如果开始了, 则显示连 阅读全文
posted @ 2019-11-26 16:48 边城bei 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 阻塞 ​ 调用结果返回之前, 当前线程会被挂起(如遇到IO操作). 函数只有在得到结果之后才会将阻塞的线程激活. 非阻塞 ​ 和阻塞的概念相对应, 指在不能立即得到结果之前也会立刻返回, 同时该函数不会阻塞当前线程 同步 ​ 在一个功能调用时, 在没有得到结果之前, 该调用就不会返回 异步 ​ 和同 阅读全文
posted @ 2019-11-26 16:42 边城bei 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 调用dispatch方法,从IndexView视图开始寻找,自身不存在则寻找APIview,APIview中存在则停止,即调用APIview中的dispatch方法 APIview中的dispatch def dispatch(self, request, args, kwargs): """ is 阅读全文
posted @ 2019-11-25 08:16 边城bei 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 死锁现象与递归锁 死锁现象 递归锁 ​ 递归锁有一个计数的功能, 原数字为0, 上一次锁, 计数+1, 释放一次锁, 计数 1 ​ 只要递归锁上面的数字不为零, 其他线程就不能抢锁 信号量 ​ 也是一种锁, 控制并发数量 GIL全局解释器锁 ​ 理论上来说: 单个进程的多线程可以利用多核 ​ 但是, 阅读全文
posted @ 2019-08-23 19:52 边城bei 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 生产者消费者模型 进程: ​ 生产者消费者模型 ​ 编程思想, 模型, 设计模式, 理论等等, 都是交给你一种编程的方法, 以后遇到类似的情况, 套用即可 生产者消费者模型三要素 ​ 生产者: 产生数据的 ​ 消费者: 接收数据做进一步处理的 ​ 容器: 盆(队列) 队列容器的作用 ​ 起到缓冲的作 阅读全文
posted @ 2019-08-22 08:05 边城bei 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 僵尸进程与孤儿进程 基于unix环境(linux, macOS) ​ 主进程需要等待子进程结束之后, 主进程才结束 ​ 主进程时刻监测子进程的运行状态, 当子进程结束之后, 一段时间之内, 将子进程进行回收 为什么主进程不在子进程结束后马上对其回收呢? ​ 主进程与子进程是异步关系, 主进程无法马上 阅读全文
posted @ 2019-08-21 22:17 边城bei 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 进程创建的两种方式 第一种方法: 第二种方法: 简单应用 进程pid 获取进程pid 验证进程之间的空间隔离 进程对象join方法 单个子进程使用join join让主进程等待子进程结束之后, 在执行主进程 多个子进程使用join 验证一: 验证2: 优化验证2: 进程的其他参数 terminate 阅读全文
posted @ 2019-08-20 20:56 边城bei 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 进程的基础 进程的基础 程序 ​ 一堆静态的代码文件 进程 ​ 一个正在运行的程序进程, 抽象的概念 ​ 由操作系统操控调用交于CPU运行 被CPU运行 操作系统 操作系统的基础 ​ 管理控制协调计算机中硬件与软件的关系 操作系统的作用 ​ 将一些对硬件操作的复杂丑陋的接口, 变成简单美丽的接口 ​ 阅读全文
posted @ 2019-08-19 18:27 边城bei 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 自定制报头 1.recv的工作原理 2.高大上版解决粘包方式(自定义报头) 阅读全文
posted @ 2019-08-16 20:35 边城bei 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 缓冲区 ​ 每个 socket 被创建后, 都会分配两个缓冲区, 输入缓冲区和输出缓冲区 ​ write( )/send( ) 并不立即向网络中传输数据, 而是先将数据写入缓冲区中, 再由TCP协议将数据从缓冲区发送到目标机器. 一旦将数据写入到缓冲区, 函数就可以成功返回, 不管他们有没有到达目标 阅读全文
posted @ 2019-08-15 20:34 边城bei 阅读(224) 评论(0) 推荐(0) 编辑