多线程

1. 基本概念

  1. 多任务编程:一个程序中写多个任务,多个任务同时进行
  2. 并发,并行
  3. 进程:
  • 程序执行的过程描述
  • 进程的状态描述,状态的转换
  • 进程的产生机制

推荐书籍

  • <计算机网络>
  • <操作系统原理 >
  • <编译原理>

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)