zoukankan      html  css  js  c++  java
  • 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")                                                 
    

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

  • 相关阅读:
    AD 485、422电路
    AD 差分
    思维导图
    68 二叉树的最近公共祖先
    65. 不用加减乘除做加法
    64. 求1+2+…+n
    10- I. 斐波那契数列
    11&12. 旋转数组的最小数字
    12. 矩阵中的路径
    13. 机器人的运动范围
  • 原文地址:https://www.cnblogs.com/Triangle-security/p/11889277.html
Copyright © 2011-2022 走看看