进程:在很多语言中没有方法可以创建线程,但是在python中可以创建并使用线程。
进程和线程的区别是:
线程的父类消亡后,子线程也会消亡也不会调用父线程(python不会消亡但是无法调用父线程)
进程的父类消亡后子进程不会消亡,会交给操作系统管理
一个进程就是一个程序,在进行同步和异步操作时时进程间的通信(文件、socket传输)
一个程序可以开多个线程,线程间的同步和异步(串行和并发)
串行和并发、同步和异步时不同的概念,譬如可以开一个线程或进程进行异步或同步的串行或并发
来一个线程的小例子:
import time
from multiprocessing import Process
import multiprocessing
import os
def f(s):
for i in range(100):
time.sleep(2)
# 获取当前进程id,和父进程id
print(s, i + 1, os.getpid(), os.getppid(), multiprocessing.current_process().name)
if '__main__' == __name__: # 判断是否当前文件是直接执行的文件
# 而不是导入文件
# 只有主文件可以开进程
# 然后无论主进程子进程代码都要写在判断的下面
process = Process(None, target=f, args=('子进程',))
process.name = "子进程1号"
process.start()
multiprocessing.current_process().name = "主进程0号"
f("主进程")
网友评论