前言:
此时小伙伴们对“python线程与进程”都比较着重,各位老铁们都想要了解一些“python线程与进程”的相关知识。那么小编也在网摘上收集了一些关于“python线程与进程””的相关文章,希望姐妹们能喜欢,同学们一起来了解一下吧!今天整理了下进程和线程,不太懂的小伙伴们可以看下哦!!!尤其是代码部分,可以根据使用不同的方法区分线程和进程哈!!!
进程:简单来说进程就是运行着的程序。我们写了一个python程序,运行起来,就属于一个进程。
线程:每个进程至少包含一个线程。线程是操作系统调度运算的最小单位,是进程的实际运作单位。线程是操作系统创建的,每个线程对应一个代码执行的数据结构,保存了代码执行过程中的重要的状态信息。当Python解释器程序运行起来(成为一个进程),OS就自动的创建一个线程,通常称为主线程,在这个主线程里面执行代码指令。
各位小伙伴,python基础基本上就学完啦,不过还需要多多动手练习哦!学习了一个【学生管理系统】简易版,有想要代码的小伙伴可以留言评论哈,我分享给大家!!!
*******进程************'''多任务:同一时间执行多个任务并发: 在一段时间多任务交替完成并行: 同一时间段内多任务同时执行''''''进程:资源分配的最小单位,运行起来的程序程序运行会创建主进程'''#1、导入包import multiprocessing#2、创建子进程类的进程对象,进行对象= multiprocessing.Process(target = 任务名)【手动创建的就是子进程】#3、启动进程执行任务 , 进程对象。start()import multiprocessingimport timeimport osdef sing(): print('sing is pid',os.getpid()) print(os.getppid()) print('sing is good')def dance(): print('dance is pid', os.getpid()) print(os.getppid()) print('dance is good')if __name__ =='__main__': #主进程,创建两个子进程 print(os.getpid()) singP = multiprocessing.Process(target=sing) danceP = multiprocessing.Process(target=dance) singP.start() danceP.start()'''函数有一个参数:singP = multiprocessing.Process(target=sing,arg(3,)) 以元组方式传参danceP = multiprocessing.Process(target=dance,kwargs={'num',3}) 以字典方式传参函数有两个参数singP = multiprocessing.Process(target=sing,arg(3,4)) 以元组方式传参,按照顺序danceP = multiprocessing.Process(target=dance,kwargs={'num':3,'age':4}) 以字典方式传参,根据键名传递''''''获取进程编号方法os.getpid() : 获取当前进程编号os.getppid(): 获取当前进程父进程编号''''''默认情况下: 主进程要等所有子进程结束后才会结束那么:如果主进程结束,所有子进程都结束怎么做:f __name__ =='__main__': #主进程,创建两个子进程 print(os.getpid()) singP = multiprocessing.Process(target=sing) singP.daemon = True #设置后,子进程会守护主进程,主进程结束后,子进程也会结束 danceP = multiprocessing.Process(target=dance) singP.start() danceP.start()'''
********线程*********import threadingimport timedef sing(): for i in range(3): print("sing...") time.sleep(0.2) passdef dance(): for i in range(3): print("dance...") time.sleep(0.2) passif __name__ == '__main__': sing_thread = threading.Thread(target=sing) sing_thread.start() dance_thread = threading.Thread(target=dance) dance_thread.start()
标签: #python线程与进程