进程的其他方法 进程id,进程名字,查看进程是否活着is_alive() terminate()发送结束进程的信号 验证进程之间是空间隔离的: 守护进程: 互斥锁: ...
分类:
编程语言 时间:
2019-01-10 17:44:08
阅读次数:
191
1. 进程的其他方法 进程id, 进程名字, 查看进程是否活着(is_alive()), terminate()发送结束进程的信号 2. 僵尸进程和孤儿进程(了解) 僵尸进程可以理解为一些进程垃圾, 没有实际作用, 但是在占用着空间, 当这些进程的父进程正常关闭的时候会清楚这些僵尸进程, 孤儿进程也 ...
分类:
编程语言 时间:
2019-01-09 21:43:21
阅读次数:
250
39.1 概念 线程同步 是一个宏观概念,在微观上包含线程的相互排斥和线程先后执行的约束问题 解决同步方式 条件变量 线程信号量 线程互斥 线程执行的相互排斥 解决互斥的方式 互斥锁 读写锁 线程信号量 是一个宏观概念,在微观上包含线程的相互排斥和线程先后执行的约束问题 解决同步方式 条件变量 线程 ...
分类:
编程语言 时间:
2019-01-04 21:24:24
阅读次数:
242
一、GIL全局解释器锁 全局解释器锁 在CPython中,全局解释器锁(GIL)是一个互斥锁,它可以防止多个本机线程同时执行Python代码。之所以需要这个锁,主要是因为CPython的内存管理不是线程安全的。(然而,自从GIL存在以来,其他特性已经逐渐依赖于它所执行的保证) 什么是GIL 全局解释 ...
分类:
编程语言 时间:
2019-01-04 00:23:56
阅读次数:
222
一、概念理论 1、什么是GIL 全局解释器锁 ,是加在解释器上的互斥锁。 ?为什么需要GIL 由于CPython的内存管理是非线程安全,于是CPython就给解释器加了个锁,解决了安全问题 但是降低了效率 另外 虽然有解决方案 但是由于牵涉太多,一旦修改则 很多以前的基于GIL的程序都需要修改, 所 ...
分类:
其他好文 时间:
2019-01-03 22:36:01
阅读次数:
177
多线程 多进程: 核心是多道技术,本质上就是切换加保存技术。 当进程IO操作较多,可以提高程序效率。 每个进程都默认有一条主线程。 多线程: 程序的执行线路,相当于一条流水线,其包含了程序的具体执行步骤。 操作系统是工厂,进程就是车间,线程就是流水线。 同一个进程的线程PID相同 线程和进程的关系: ...
分类:
编程语言 时间:
2019-01-02 19:20:20
阅读次数:
193
一、进程锁(同步锁/互斥锁) 进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的, 而共享带来的是竞争,竞争带来的结果就是错乱,如何控制,就是加锁处理。 例子 加锁后 例子2 多个进程共享同一文件 文件当数据库,模拟抢票 未加锁版 输出结果 加锁版 分析 ...
分类:
编程语言 时间:
2018-12-31 23:45:23
阅读次数:
383
线程锁(也称互斥锁)是同一时间只允许一个线程在执行,信号量可以用来表示同一时间允许执行的线程的数目。 结果可以看到是五个五个的一起执行 run the thread: 0run the thread: 3run the thread: 4run the thread: 2run the thread ...
分类:
其他好文 时间:
2018-12-30 23:59:35
阅读次数:
337
小知识点:在子进程中不能使用input输入! 一.守护进程 守护进程表示一个进程b 守护另一个进程a 当被守护的进程结束后,那么守护进程b也跟着结束了 应用场景:之所以开子进程,是为了帮助主进程完成某个任务,然而,如果主进程认为自己的事情一旦做完了就没有必要使用子进程了,就可以将子进程设置为守护进程 ...
分类:
系统相关 时间:
2018-12-29 23:34:19
阅读次数:
274
守护进程: b 进程守护 a进程,当a进程执行完毕时,b进程会跟着立马结束 守护进程用途: 如果父进程结束了,子进程无需运行了,就可以将子进程设置为父进程的守护进程 例如我们qq视频聊天时,当我们退出qq时,视频界面会跟着退出,视频就是qq的守护进程 守护进程语法: p.daemon = True ...
分类:
系统相关 时间:
2018-12-29 23:22:57
阅读次数:
290