当前位置:   article > 正文

python 多线程伪_threading伪多线程

python threading 假多线程

importthreading, time

defrun(n):

print("task", n)

time.sleep(2)

t1 = threading.Thread(target=run, args=("t1",))

t2 = threading.Thread(target=run, args=("t2",))

t1.start()

t2.start()

run("t1")

run("t2")

importthreading, time

classMyThread(threading.Thread):

def__init__(self, n):

super(MyThread, self).__init__()

self.n = n

defrun(self):

print("running task", self.n)

time.sleep(2)

t1 = MyThread("t1")

t2 = MyThread("t2")

t1.run()

t2.run()

t1.start()

t2.start()

importthreading, time

defrun(n):

print("task", n)

time.sleep(2)

print("task done", n, threading.current_thread())  #打印子线程start_time = time.time()

t_objs = []

fori inrange(50):

t = threading.Thread(target=run, args=("t %s"% i,))

t.start()

t_objs.append(t)  #把每个线程实例都加进来不阻塞后面线程的启动fort int_objs:  #取列表里的每个线程t.join()  #等待并行的每个线程全都执行完毕在往下走print("----all threads has finished...", threading.current_thread(), threading.active_count())  #打印主线程,程序默认有一个主线程print("cost:", time.time() - start_time)  # threading.active_count()活跃线程个数import time,threadingimporttime,threading

classMyThread(threading.Thread):

def__init__(self, n, sleep_time):

super(MyThread, self).__init__()

self.n = n

self.sleep_time = sleep_time

defrun(self):

print("running task", self.n)

time.sleep(self.sleep_time)

print("task done", self.n)

t1 = MyThread("t1", 2)  #等待2秒t2 = MyThread("t2", 4)  #等待4秒t1.start()

t2.start()

t1.join()  # wait()等待t1线程执行完再往下走程序进程变成串行了主程序卡主了t2.join()  # t1执行完之后等t2等待t2执行完之后再往下走print("main threading....")

#程序末尾有一个默认的join守护线程importthreading, time

defrun(n):

print("task", n)

time.sleep(2)

print("task done", n, threading.current_thread())  #打印子线程如果不设置为守护线程,那么程序会执行到这里start_time = time.time()

t_objs = []

fori inrange(50):

t = threading.Thread(target=run, args=("t %s"% i,))

t.setDaemon(True)  #设置为守护线程设置为守护线程之后,主线程执行完之后程序就退出了,不管守护线程有没有执行完都会退出t.start()

t_objs.append(t)  #把每个线程实例都加进来不阻塞后面线程的启动# for t in t_objs: #取列表里的每个线程#    t.join() #等待并行的每个线程全都执行完毕在往下走print("----all threads has finished...")

print("cost:", time.time() - start_time)

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号