• Python之路——多线程


    Thread

     1 # from threading import Thread
     2 # import time
     3 # import os
     4 # def func(i):
     5 #     time.sleep(1)
     6 #     print('helloworld',i,os.getpid())
     7 # thread_lst = []
     8 # for i in range(10):
     9 #     t = Thread(target=func,args=(i,))
    10 #     t.start()
    11 #     thread_lst.append(t)
    12 # [t.join() for t in thread_lst]
    13 # print(os.getpid())

    定义自己的Thread类

     1 # from threading import Thread
     2 # import time,os
     3 # n = 0
     4 # class MyThread(Thread):
     5 #     # n = 0
     6 #     # def __init__(self):
     7 #     #     MyThread.n += 1
     8 #     def run(self):
     9 #         time.sleep(1)
    10 #         print('helloworld',n,os.getpid())
    11 #
    12 # l = []
    13 #
    14 # def func(i,l):
    15 #     l.append(i)
    16 #
    17 # for i in range(20):
    18 #     t = MyThread()
    19 #     t.start()

    等待开启的线程执行完

     1 # from threading import Thread
     2 # import time,os,random
     3 #
     4 # def func(i):
     5 #     time.sleep(random.random())
     6 #     print('hello %s'%i,os.getpid())
     7 #
     8 # tl = []
     9 # for i in range(10):
    10 #     t = Thread(target=func,args=(i,))
    11 #     t.start()
    12 #     tl.append(t)
    13 #
    14 # [t.join() for t in tl]

    有段thread的一些属性

     1 # from threading import Thread
     2 # import time,os,random
     3 #
     4 # class MyThread(Thread):
     5 #     count = 0
     6 #     def __init__(self,arg1,arg2):
     7 #         super().__init__()
     8 #         self.arg1 = arg1
     9 #         self.arg2 = arg2
    10 #     def run(self):
    11 #         MyThread.count += 1
    12 #         time.sleep(random.random())
    13 #         print('%s,%s,%s,%s'%(self.arg1,self.arg2,self.name,os.getpid()))
    14 # for i in range(10):
    15 #     t = MyThread(i,i*'*')
    16 #     t.start()
    17 # print(t.count)  # 计算开启的线程数量
     1 from threading import Thread
     2 import threading
     3 import time,os,random
     4 def func(i):
     5     # print(len(threading.enumerate()))
     6     time.sleep(random.random())
     7     print(i,threading.current_thread().name,threading.current_thread().ident)
     8 for i in range(10):
     9     t = threading.Thread(target=func,args=(i,))
    10     t.start()
    11 # print('main:',len(threading.enumerate())) # # 返回正在运行着的线程列表
    12 time.sleep(random.random())
    13 # print('main:',len(threading.enumerate()))
    14 print(threading.active_count())
  • 相关阅读:
    sopt:一个简单的python最优化库
    条件GAN论文简单解读
    python PIL 图像处理库简介(一)
    python自动制作gif并添加文字
    github+hexo搭建博客
    haskell简明入门(一)
    DCGAN 代码简单解读
    手机浏览器 H5直播
    js获取网页的宽高
    vue 对象赋值 对象身上已经有了属性,但是视图层并没有更新该数据 问题
  • 原文地址:https://www.cnblogs.com/liuyankui163/p/8423013.html
Copyright © 2020-2023  润新知