首页 > 代码库 > 【Python】进程和线程
【Python】进程和线程
多任务的实现方式有三种方式:
1、多进程
2、多线程
3、多进程+多线程(这种比较复杂,实际很少采用)
【多进程】
1、在mac中创建子进程使用Python封装的fork()系统调用。
import os pid = os.fork()
pid
2、在windows上的实现。
使用multiprocessing模块的Process类。
为了观察,还加了一下端代码~
# -*- coding: utf-8 -*- from multiprocessing import Process import os # 这里是子进程要执行的代码 def run_proc(name): print(‘Run child process %s (pid=%s)...‘ % (name, os.getpid())) if __name__==‘__main__‘: print(‘Parent process %s.‘ % os.getpid()) greeting = input(‘hi~‘) print(greeting) p = Process(target=run_proc, args=(‘MyTest‘,)) print(‘Child process will start.‘) p.start() p.join() print(‘Child process end.‘)
然后就观察到:
结束:
$python test.py Parent process 1388. hi~ hi! hi! Child process will start. Run child process MyTest (pid=12680)... Child process end.
join用于进程间的同步,子进程结束后继续往下执行。
3、有时候需要创建大量的进程(比如应对多用户访问)
【多线程】
【ThreadLocal】
【进程vs线程】
【分布式进程】
【Python】进程和线程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。