'''
进程之间相对独立,不共享全局变量
进程常用方法
start() 启动进程实例
is_alive() 判断子进程是否活着 True/False
join([timeout]) 是否等待子进程结束(阻塞主进程) timeout = 时间
terminate() 立即终止子进程
进程与线程对比
进程能够完成多任务,如一台电脑可以运行多个软件
线程能够完成多任务,如一个软件打开多个窗口
1。进程资源不共享,线程资源可共享
2。一个程序至少有一个进程,一个进程至少有一个线程
3。线程的划分尺度小于进程,多线程程序并发性高
4。进程在执行过程中拥有独立的内存单元
5。线程不能独立执行 必须依赖在进程中
6。线程执行开销小,但不理由资源的管理和保护。进程相反
计算密集型 计算量比较大时,用多进程
IO密集型 如爬虫、文件读写 用多线程
'''
import os
from multiprocessing import Process
# print( os.getpid() ) # 查看当前进程
# print( os.getppid() ) # 查看当前进程父进程
def one():
print("one 子进程ID:%s,父进程id:%s" % (os.getpid(),os.getppid()))
def two():
print("two 子进程ID:%s,父进程id:%s" % (os.getpid(),os.getppid()))
if __name__ == '__main__':
# 创建子进程
p1 = Process(target=one)
p2 = Process(target=two)
# 启动进程
p1.start()
p2.start()
# 修改进程名称
p1.name = "亦"
p2.name = "尔"
print("主进程ID:%s,父进程id:%s" % (os.getpid(), os.getppid()))
'''
>>>
主进程ID:12834,父进程id:2918
one 子进程ID:12836,父进程id:12834
two 子进程ID:12837,父进程id:12834
'''
版权属于:
EN
作品采用:
《
署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
》许可协议授权
评论 (0)