上一页 1 ··· 55 56 57 58 59 60 61 62 63 ··· 67 下一页
摘要: 问题:已经有了全局解释器锁为什么还需要锁? 答:全局解释器锁是在Cpython解释器下,同一时刻,多个线程只能有一个线程被cpu调度 它是在线程和cpu之间加锁,线程和cpu之间有传递时间,即使有GIL,也无法保证数据的绝对安全 锁的分类 1、互斥锁 2、死锁 3、递归锁 互斥锁 死锁 递归锁 阅读全文
posted @ 2019-06-22 15:45 市丸银 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 一、基础概念 1、守护线程:在主线程代码执行结束后,等待其它子线程执行结束,守护线程结束 2、守护进程:随着主进程代码执行结束,守护进程结束 3、主线程执行结束,它所在的进程执行结束 4、主进程代码执行结束,主进程并没结束,等待其它子进程执行结束并回收资源 二、示例 阅读全文
posted @ 2019-06-22 14:13 市丸银 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 一、基础知识 1、线程和进程的区别与联系 进程是资源分配的最小单位,线程是cpu调度的最小单位 一个进程至少有一个线程,cpu直接调用线程 2、优点 线程的调度用时小于进程 线程之间共享进程的数据 线程有较小的数据栈,数据不共享 3、GIL(全局解释器锁) 在Cpython解释器下,同一时间,多个线 阅读全文
posted @ 2019-06-21 22:40 市丸银 阅读(177) 评论(0) 推荐(0) 编辑
摘要: import chardet f = open(file='test1.txt', mode='rb') data = f.read() print(chardet.detect(data)) 阅读全文
posted @ 2019-06-21 14:57 市丸银 阅读(675) 评论(0) 推荐(0) 编辑
摘要: 数据不安全,不常用 阅读全文
posted @ 2019-06-21 08:20 市丸银 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 一、概念 进程池,在进程池中有5(自定义)个进程,有n个任务等待进入进程池,一次只能进入5个任务 优点:节省了n-5个进程的内存空间,n个进程的创建时间 信号量:一次只允许固定的进程进行操作,进程的内存空间和创建时间都没减少,只减轻了操作系统的压力 二、常用方法 close()方法 作用:进程池禁止 阅读全文
posted @ 2019-06-21 00:06 市丸银 阅读(791) 评论(0) 推荐(0) 编辑
摘要: 1、作用:进程之间的数据交互 2、常用方法 3、例子 4、生产者消费者模型 优化 过程:主进程等待->生产者进程,生产者等待->消费者p.join()->q.join()->c,task_down()obj.join()作用:阻塞,直到队列里的所有值被处理,一般在生产者进程中和put()方法一起使用 阅读全文
posted @ 2019-06-19 23:03 市丸银 阅读(910) 评论(0) 推荐(0) 编辑
摘要: 1、作用 通过信号量,控制全部进程进入阻塞状态,也可以通过控制信号量,解除全部进程的阻塞 注意:定义的事件对象,默认状态是阻塞 2、常用方法 阅读全文
posted @ 2019-06-19 22:45 市丸银 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 1、概念 信号量和锁相似,锁同一时间只允许一个对象(进程)通过,信号量同一时间允许多个对象(进程)通过 2、应用场景 多线程,并规定数量 3、格式: 导入信号量模块 实例化信号量对象,可以规定信号量的个数 传递对象 拿到一把钥匙 释放一把钥匙 4、过程 获得钥匙,当钥匙串没钥匙时,其它进程要在外面等 阅读全文
posted @ 2019-06-19 21:59 市丸银 阅读(1145) 评论(0) 推荐(0) 编辑
摘要: 作用:异步修改数据时,会造成数据安全问题,子进程分别进入文件/数据库,修改数据 阅读全文
posted @ 2019-06-18 23:46 市丸银 阅读(1006) 评论(0) 推荐(0) 编辑
上一页 1 ··· 55 56 57 58 59 60 61 62 63 ··· 67 下一页