python线程与进程学习手记

网友投稿 222 2022-11-10

python线程与进程学习手记

多线程 vs 多进程

程序:一堆代码以文本形式存入一个文档 进程:程序运行的一个状态 包含地址空间,内存,数据栈等 每个进程由自己完成独立的运行环境,多进程共享数据是一个问题 线程 一个进程的独立运行片段,一个进程可以有多个线程 轻量化的进程 一个进程的多个线程间共享数据和上下文运行环境 共享互斥问题 全局解释锁(GIL) python代码的执行是由python虚拟机进行控制 在主循环中有一个控制线程在执行

threading的使用

直接利用threading.Thread生成Thread示例 t = threading.Thread(target=xxx, args=(xxx,)) t.start():启动多线程 t.join(): 等待多线程执行完成 案例01:

import threadingimport time

def loop01(in01):print("start loop01 at : {0}".format(time.ctime()))print("loop01参数:{0}".format(in01))time.sleep(4)print("end loop01 at : {0}".format(time.ctime()))

def loop02(in01, in02):print('start loop02 at : {0}'.format(time.ctime()))print("loop02参数,第一个参数{0},第二个参数{1}".format(in01,in02))time.sleep(2)print("end loop02 at : {0}".format(time.ctime()))

if name == 'main':print("Starting at : {0}".format(time.ctime()))t1 = threading.Thread(target=loop01,args=("loop01参数",))t2 = threading.Thread(target=loop02,args=("loop02参数1","loop02参数2"))t1.start()t2.start()t1.join()t2.join()print("All done at {0}".format(time.ctime()))while True:time.sleep(10)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:部署KVM虚拟化平台------搭建
下一篇:Java装饰者模式的深入了解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~