上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页
摘要: epoll select存在的问题 1. select,需要遍历socket列表,频繁的对等待队列进行添加移除操作 2. 数据到达后还需要遍历所有的socket才能获知哪些socket有数据 两个操作消耗的时间随着要监控的socket的数量增加而大大增加,所以最大只能监视1024个socket。 于 阅读全文
posted @ 2019-07-10 19:39 Never&say&die 阅读(153) 评论(0) 推荐(0) 编辑
摘要: [TOC] IO模型 IO指的是输入输出,对于CPU而言,当我们要输入数据或输出数据通常需要很长一段时间。在这段时间内,CPU就处于闲置状态,造成了浪费浪费。所以学习IO模型,就是为了在等待IO操作的过程中利用CPU执行别的任务 而IO其实有很多类型,例如:socket网络IO,内存到内存的复制co 阅读全文
posted @ 2019-07-10 19:38 Never&say&die 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 基于协程的TCP并发编程 服务端 客户端 阅读全文
posted @ 2019-07-08 21:09 Never&say&die 阅读(120) 评论(0) 推荐(0) 编辑
摘要: [TOC] 协程 由于GIL锁导致在Cpython中多线程无法并行执行,只能并发执行。而并发实现的原理是切换+保存,那就意味着使用多线程实现并发,就需要为每一个任务创建一个线程 问题一:必然增加了线程创建销毁与切换带来的资源开销。 问题二:高并发情况下,由于任务数量太多导致无法开启新的线程,使得即没 阅读全文
posted @ 2019-07-08 20:27 Never&say&die 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 线程队列 线程队列就是一个普通的容器,使用 ,用法与进程Queue一样 先进先出 后进先出 :用于模拟栈这种容器 存储数据时可设置优先级 python from queue import PriorityQueue q = PriorityQueue() q.put(2) q.put(3) q.pu 阅读全文
posted @ 2019-07-08 15:40 Never&say&die 阅读(88) 评论(0) 推荐(0) 编辑
摘要: GIL 全局解释器锁 GIL介绍 python程序本质就是一堆字符串,所以运行一个python程序时,必须要开启一个解释器。但是在一个python程序中解释器只有一个,所有代码都要交给它来解释执行,当有多个线程都要执行代码时就会产生线程安全问题。 如python会帮我们进行内存管理,管理也是要写一堆 阅读全文
posted @ 2019-07-07 18:40 Never&say&die 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 阻塞\非阻塞\同步\异步&异步回调 阻塞与非阻塞是用来描述程序的状态 阻塞:指调用结果返回之前,当前线程会被挂起(如遇到IO操作),函数只有在得到结果之后才会将阻塞的线程激活 非阻塞:指不能立刻得到返回结果之前也会立刻返回,同时不会阻塞当前线程   串行、并发与并行是用来描述处理任务的方式 阅读全文
posted @ 2019-07-07 16:20 Never&say&die 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 线程池和进程池 线程池是装线程的池子,进程池是装进程的池子。 1.可以避免频繁的创建和销毁线程(进程)带来的资源开销 2.可以限制同时存在的线程数量,以保证服务器不会因为资源不而导致崩溃 3.可以帮我们管理线程的生命周期 4.管理任务的分配 线程池的使用 进程池的使用 submit(task,参数) 阅读全文
posted @ 2019-07-07 14:12 Never&say&die 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 事件Event 线程 每一个线程都是独立运行且状态不可预测。你把一个任务丢到子线程中,这个任务将异步执行,如何获取到这个任务的执行状态?使用threading库中的Event对象。对象包含一个可由线程设置的信号标志,线程直到等到该标志为真时再启动执行 假设:一个线程负责启动服务器,启动服务器需要花一 阅读全文
posted @ 2019-07-07 13:32 Never&say&die 阅读(131) 评论(0) 推荐(0) 编辑
摘要: [TOC] 死锁现象 死锁:指的是某个资源被占用后一直得不到释放,导致其他需要这个资源的线程或进程进入阻塞状态 情况一:对同一把互斥锁多次执行acquire方法,将导致死锁 解决方法:首先这样写没有意义,其次在加锁时加上超时 ,超出时间后继续执行,线程不会卡死 情况二:一个共享资源要访问必须同时具备 阅读全文
posted @ 2019-07-06 21:00 Never&say&die 阅读(230) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页