• python多线程的学习


    多线程也是坑了我几天的时间,不懂堵塞是什么意思。知道socket里面的阻塞,却不知道多线程的阻塞,今天学习了,就来记录一下

    多线程是并发的,一个形象的列子就是360在进行杀毒的时候,还有进行扫描文件,这个利用的就是多线程的知识点。

    进程:每一个exe软件,或者一个启动的py文件都是一个单独的进程
    所需环境:
    python 3

    import threading                                           
    import time                                                
                                                               
                                                               
    def musics():                                              
        music = ['周杰伦', '王菲', '嘻哈']                            
        for i in music:                                        
                                                               
            # print(i)                                         
            time.sleep(1)                                      
                                                               
                                                               
                                                               
    def read():                                                
        book = ['china', 'chinese']                            
        for i in book:                                         
            print(i)                                           
            time.sleep(1)                                      
                                                               
                                                               
    t1 = threading.Thread(target=musics)                       
    t2 = threading.Thread(target=read)                         
    t1.start()                                                 
    t2.start()
    print("hhhh")                                                 
    

    这样的进行运行的时候,会发现hhh,不一定是最后打印输出的。如果想要打印输出,我们只需要在每个运行的线程后面添加一个join方法就可以了,(这个join方法不是那个连接的功能)。

    加入join方法之后

    import threading                                           
    import time                                                
                                                               
                                                               
    def musics():                                              
        music = ['周杰伦', '王菲', '嘻哈']                            
        for i in music:                                        
                                                               
            # print(i)                                         
            time.sleep(1)                                      
                                                               
                                                               
                                                               
    def read():                                                
        book = ['china', 'chinese']                            
        for i in book:                                         
            print(i)                                           
            time.sleep(1)                                      
                                                               
                                                               
    t1 = threading.Thread(target=musics)                       
    t2 = threading.Thread(target=read)                         
    t1.start()                                                 
    t2.start()
    t1.join()
    t2.join()
    print("hhhh")                                                 
    

    这样运行的结果就是按照正常的顺序依次往下运行的

  • 相关阅读:
    java 支付宝即时到帐提交订单dome
    C#字符串string的常用使用方法(转载)
    UltraEdit 回车符替换空格
    java 七牛上传图片到服务器(采用的html5 压缩 传输base64方式)
    c# 多播委托
    c# 泛型委托
    c# 求数组的最大值
    c# 匿名函数和lamda表达式语法
    匿名函数和lamda表达式
    导出Excel之Epplus使用教程4(其他设置)
  • 原文地址:https://www.cnblogs.com/Triangle-security/p/11889277.html
Copyright © 2020-2023  润新知