Python进程和线程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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进程和线程的主要内容,如果未能解决你的问题,请参考以下文章