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")                                                 
    

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

  • 相关阅读:
    java 截取pdf
    webService 发送soap请求,并解析返回的soap报文
    常用网址
    扫描文件夹下代码行数
    CodeMIrror 简单使用
    常用 linux 命令(部分)
    windows下RabbitMQ 监控
    一定要写的日志
    创业思路
    10月9日后计划
  • 原文地址:https://www.cnblogs.com/Triangle-security/p/11889277.html
Copyright © 2011-2022 走看看