进程
进程
进程的三种状态
在进程遇到I/O操作时,或time.sleep()时,就会进入阻塞状态,cpu会出去执行其他程序,保证cpu一直在工作
当进程占用时间过多,或因为优先级原因,cpu去执行其他程序时,进程会进入就绪状态
2.开启子进程的两种方式
from multiprocessing import Process import time # 方法1 def Foo(x): print('子进程1') time.sleep(2) print('子进程2') if __name__ == '__main__': p = Process(target=Foo,args=('子进程',)) p.start() print('主') # 方法二 class Myprocess(Process): def run(self): print('子进程1') time.sleep(2) print('子进程2') if __name__ == '__main__': p = Myprocess() state = p.start() print('主') time.sleep(3)
进程对象的属性
1 p.start():启动进程,并调用该子进程中的p.run()
2 p.join([timeout]):主线程等待p终止(强调:是主线程处于等的状态,而p是处于运行的状态)。
timeout是可选的超时时间,需要强调的是,p.join只能join住start开启的进程,而不能join住run开启的进程
3 p.pid:进程的pid
4 p.name:进程的名称