多线程
1. 基本概念
- 多任务编程:一个程序中写多个任务,多个任务同时进行
- 并发,并行
- 进程:
- 程序执行的过程描述
- 进程的状态描述,状态的转换
- 进程的产生机制
推荐书籍
<计算机网络>
<操作系统原理 >
<编译原理>
2. fork 创建进程
"""
fork.py fork进程创建演示
"""
import os, sys,signal
from time import sleep
# 子进程 退出时 父进程 忽略退出行为,子进程由系统处理
signal.signal(signal.SIGCHLD,signal.SIG_IGN)
# 创建子进程
pid = os.fork()
if pid < 0:
print('创建进程失败:', pid)
# 子进程执行部分
elif pid == 0:
print("创建了新进程:", pid)
sys.exit('子进程退出')
# 父进程执行部分
else:
sleep(1)
print('这是老进程:', pid)
# 父子进程都会执行部分
print('子进程结束', pid) if pid == 0 else print('父结束', pid)