当前位置 博文首页 > 专注测试领域知识分享和技能提升:Python中多线程的基本操作

    专注测试领域知识分享和技能提升:Python中多线程的基本操作

    作者:[db:作者] 时间:2021-09-08 23:00

    进程是资源分配的基本单位。

    线程是程序执行的最小单位。

    接下来以一段python脚本来演示一下多线程是如何去进行编码操作的,学会这个之后,就可以改进之前的脚本,将nmap的端口扫描工具改成多线程执行,提升效率。并且,在以后执行用例的时候,说不定也会需要用到这个技术。

    Python中多线程编程的代码演示:

    import threading
    import time
    
    
    
    
    def say_hello(msg):
        print(f'hello,我是:{msg}')
        time.sleep(2)
    
    
    
    
    start_time = time.time()
    # 1、创建线程
    '''
    target: 传可调用对象名字,一般是需要执行的函数名,默认为None
    args: 元组类型的参数,一般为target对象里面调用时的传参,默认为()
    '''
    t1 = threading.Thread(target=say_hello, args=('a',))
    t2 = threading.Thread(target=say_hello, args=('b',))
    # 2、启动线程
    t1.start()
    t2.start()
    
    
    #?3、join所完成的工作就是线程同步,即主线程任务结束之后,进入阻塞状态,一直等待其他的子线程执行结束之后,主线程再终止
    t1.join()
    t2.join()
    
    
    end_time = time.time()
    print(f'耗时:{end_time-start_time}')
    
    
    
    
    

    以上代码运行后,打印出来的时间在2点零几秒:

    END

    大家可以通过公众号菜单添加微信,互相交流探讨。

    cs