• threading


    import threading
    import time

    def run(n):
    print("task ",n )
    time.sleep(2)
    print("task done",n)

    start_time = time.time()
    t_objs = [] #存线程实例
    for i in range(50):
    t = threading.Thread(target=run,args=("t-%s" %i ,))
    t.start()
    t_objs.append(t) #为了不阻塞后面线程的启动,不在这里join,先放到一个列表里

    # for t in t_objs: #循环线程实例列表,等待所有线程执行完毕
    # t.join()


    print("----------all threads has finished...")
    print("cost:",time.time() - start_time)
    # run("t1")
    # run("t2")

    #===================

    import threading
    import time

    class MyThread(threading.Thread):
    def __init__(self,n,sleep_time):
    super(MyThread,self).__init__()
    self.n = n
    self.sleep_time = sleep_time
    def run(self):
    print("runnint task ",self.n )
    time.sleep(self.sleep_time)
    print("task done,",self.n )


    t1 = MyThread("t1",2)
    t2 = MyThread("t2",4)

    t1.start()
    t2.start()

    t1.join() #=wait()
    t2.join()

    print("main thread....")


    #============================

    import threading
    import time

    def run(n):
    print("task ",n )
    time.sleep(2)
    print("task done",n,threading.current_thread())

    start_time = time.time()
    t_objs = [] #存线程实例
    for i in range(50):
    t = threading.Thread(target=run,args=("t-%s" %i ,))
    t.setDaemon(True) #把当前线程设置为守护线程
    t.start()
    t_objs.append(t) #为了不阻塞后面线程的启动,不在这里join,先放到一个列表里

    # for t in t_objs: #循环线程实例列表,等待所有线程执行完毕
    # t.join()

    time.sleep(2)
    print("----------all threads has finished...",threading.current_thread(),threading.active_count())
    print("cost:",time.time() - start_time)
    # run("t1")
    # run("t2")
  • 相关阅读:
    ajax_基础1
    省市数据库脚本TblArea.
    c#中怎么使用dos命
    Lambda表达式
    面试收录
    .Net牛逼程序猿要懂得
    Web.config 配置文件
    sql 查询所有数据库、表名、表字段总结
    Json在net与页面之间的传递
    『转』SAP统驭科目解释
  • 原文地址:https://www.cnblogs.com/rongye/p/9977276.html
Copyright © 2020-2023  润新知