zoukankan      html  css  js  c++  java
  • 一个简单的Python多线程

    首先对一段普通的代码进行测试

    # -*- coding:utf-8 -*-
    __author__ = "MuT6 Sch01aR"
    
    import time
    
    def RunThreading(n):
        print("Running %s Threading"%n)
        time.sleep(3)
    
    RunThreading("First")
    RunThreading("Second")
    

     运行脚本

    首先打印Running First Threading,然后间隔3秒打印Running Second Threading,最后间隔3秒结束

    等待时间为6s

    接下来测试多线程的脚本进行对比

    # -*- coding:utf-8 -*-
    __author__ = "MuT6 Sch01aR"
    
    import threading
    import time
    
    def RunThreading(n):
        print("Running" ,n, "Threading")
        time.sleep(3)
    
    t1 = threading.Thread(target=RunThreading, args=("First",))#即使只有一个参数也要加逗号
    t2 = threading.Thread(target=RunThreading, args=("Second",))
    
    t1.start()
    t2.start()
    

     运行脚本

    同时打印出Running First Threading和Running Second Threading,脚本没有立即结束,而是间隔了三秒之后才结束

    t1和t2是同时进行的,所以等待的时间只有3s

    用类方法来调用多线程

    #-*- coding:utf-8 -*-
    __author__ = "MuT6 Sch01aR"
    
    import threading
    
    class MyThread(threading.Thread):
        def __init__(self,n):
            super(MyThread,self).__init__()
            self.n = n
    
        def run(self):  #必须是run
            print ("Running %s Threading"%self.n)
    
    t1 = MyThread("First")
    t2 = MyThread("Second")
    
    t1.start()
    t2.start()
    

    运行结果

  • 相关阅读:
    webpack loader和插件的编写原理
    vue和react原理性知识点
    详谈Javascript类与继承
    vue项目中要实现展示markdown文件[转载]
    前端知识总结--2 js部分
    前端知识总结--html
    react相关知识点总结
    优秀文章
    项目部署服务器2
    项目部署服务器
  • 原文地址:https://www.cnblogs.com/sch01ar/p/8025259.html
Copyright © 2011-2022 走看看