上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页
摘要: [TOC] 队列: from queue import Queue,LifoQueue,PriorityQueue 以上三种队列有什么不同? 1. Queue 与 joinableQueue类似 2. LifoQueue(栈,特点:后进先出) 3. PriorityQueue(具备优先级的队列) 第 阅读全文
posted @ 2019-07-08 18:58 Hello_Jack 阅读(272) 评论(0) 推荐(0) 编辑
摘要: Event事件 用来同步线程之间的状态。 举个例子: ​ 你把一个任务丢到了子线程中,这个任务将异步执行。如何获取到这个任务的执行状态 解决方法: 1. 如果是拿到执行结果 我们可以采用异步回调, 2. 在这里我们采用另外一种方法来做:Event Event事件 第一阶段:采用轮询方式去获取线程状态 阅读全文
posted @ 2019-07-05 18:50 Hello_Jack 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 同步异步 阻塞:进程遇到IO操作,导致任务无法继续执行其他代码,称为阻塞。 非阻塞:程序在正常运行没有遇到IO操作,或者通过某种方式使程序即时遇到了也不会停在原地,还可以执行其他操作,以提高CPU的占用率 阻塞、非阻塞:指程序的运行状态 并行、并发、串行:处理任务的方式 同步:提交任务后需要在原地等 阅读全文
posted @ 2019-07-05 18:02 Hello_Jack 阅读(144) 评论(0) 推荐(0) 编辑
摘要: [TOC] 线程池与进程池 池:表示容器。线程池就是存放线程的容器,进程池就是存放进程的容器 为什么要存放到线程池、进程池中 1. 避免频繁的创建和销毁(进程、线程)来的资源开销 2. 可以限制同时存在的线程数量,以保证服务器不会因为资源不足而崩溃 3. 帮我们管理了线程的创建和销毁 4. 管理了任 阅读全文
posted @ 2019-07-05 18:01 Hello_Jack 阅读(202) 评论(0) 推荐(0) 编辑
摘要: [TOC] GIL 什么是GIL锁 为什么需要加锁 带来的问题 如何解决 关于性能的讨论 计算密集型任务:进程执行更快 线程: 进程: IO密集型:线程执行更快 线程: 进程: 自定义锁与GIL的区别 GIL锁住的是解释器级别的数据,比如对象的引用计数,垃圾分代数据等等,具体参考垃圾回收机制详解 自 阅读全文
posted @ 2019-07-05 17:53 Hello_Jack 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 信号量 它并不能解决安全问题,而是用来限制最大的并发量 阅读全文
posted @ 2019-07-05 17:50 Hello_Jack 阅读(495) 评论(0) 推荐(0) 编辑
摘要: 递归锁 第一种情况:同一个线程一把锁加锁多次,不影响执行 第二种情况:多线程必须保证,加锁的次数和解锁的次数相同,其他线程才能够抢到这把锁 总结: 1. 同一个线程对同一把锁加锁多次,不影响执行 2. 同一个线程必须保证,加锁的次数和解锁的次数相同,其他线程才能够抢到这把锁 阅读全文
posted @ 2019-07-05 17:40 Hello_Jack 阅读(2324) 评论(0) 推荐(1) 编辑
摘要: 死锁 死锁指的是某个资源占用后,一直得不到释放,导致其他需要这个资源的线程进入阻塞状态 产生死锁的情况: 对同一把互斥锁加锁的多次(对同一个) 死锁的另外一种情况: 结果: 阅读全文
posted @ 2019-07-05 17:38 Hello_Jack 阅读(474) 评论(0) 推荐(0) 编辑
摘要: [TOC] 进程: 生产者,消费者模型 在编程中,模型就是解决某个问题的固定方法或套路 生产者:泛指产生数据的一方 消费者:泛指处理数据的一方 生活案例: ​ 食堂饭店是生产者,负责炒菜 ​ 吃饭的人就是消费者,负责吃 1. 要解决什么问题? 2. 解决办法:在生产者和消费者之间加入队列 问题:如果 阅读全文
posted @ 2019-07-04 17:41 Hello_Jack 阅读(683) 评论(0) 推荐(0) 编辑
摘要: [TOC] 守护进程 主进程创建守护进程 其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemonic processes are not allowed to have children 注意:进程之间是互相独立的, 阅读全文
posted @ 2019-07-04 17:40 Hello_Jack 阅读(390) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页
# 页脚html代码 /*头部导航栏*/ #navigator { font-size:15px; border-bottom: 1px solid #ededed; border-top: 1px solid #ededed; height: 60px;/*导航栏高度,原始50*/ clear: both; margin-top: 25px; } /*导航栏设置,可以自定义导航栏的目录*/ #navList { min-height: 35px; float: left; } #navList li { /*每一个栏目节点*/ float: left; margin: 0 5px 0 0; /*这里原来是0 40px 0 0 */ } #navList a { /*栏目文字的格式*/ display: block; width: 5em; height: 22px; float: left; text-align: center; padding-top: 19px; }