zoukankan      html  css  js  c++  java
  • Python 35 线程(1)线程理论、开启线程的两种方式

    一:线程理论

    1 什么是线程

       进程其实一个资源单位,而进程内的线程才是cpu上的执行单位

       线程其实指的就是代码的执行过程
    2 为何要用线程
       线程vs进程
         1. 同一进程下的多个线程共享该进程内的资源
         2. 创建线程的开销要远远小于进程
    3 如何用线程

    二:开启线程的两种方式

    1、Thread类的用法

    Thread实例对象的方法
      # isAlive(): 返回线程是否活动的。
      # getName(): 返回线程名。
      # setName(): 设置线程名。
    
    threading模块提供的一些方法:
      # threading.currentThread(): 返回当前的线程变量。
      # threading.enumerate(): 返回一个包含正在运行的线程的list。正在运行指线程启动后、结束前,不包括启动前和终止后的线程。
      # threading.activeCount(): 返回正在运行的线程数量,与len(threading.enumerate())有相同的结果。

    2、开启线程的两种方式:

    #开启线程的方式一:
    from threading import Thread
    import time
    
    def task(name):
        print('%s is running' %name)
        time.sleep(2)
        print('%s is done' %name)
    
    if __name__ == '__main__':
        t=Thread(target=task,args=('线程1',))
        t.start()
        print('')
    开启线程的方式一:
    #开启线程的方式二:
    from threading import Thread
    import time
    
    class Mythread(Thread):
        def run(self):
            print('%s is running' %self.name)
            time.sleep(2)
            print('%s is done' %self.name)
    
    if __name__ == '__main__':
        t=Mythread()
        t.start()
        print('')
    开启线程的方式二:
  • 相关阅读:
    P3391 【模板】文艺平衡树(Splay)
    P4198 楼房重建
    P1491 集合位置
    P3957 跳房子
    P4016 负载平衡问题
    bzoj1077: [SCOI2008]天平 差分约束
    bzoj1151: [CTSC2007]动物园zoo 状压dp
    bzoj1076: [SCOI2008]奖励关 状压dp
    bzoj1226: [SDOI2009]学校食堂Dining 状压dp
    bzoj1879: [Sdoi2009]Bill的挑战 状压dp
  • 原文地址:https://www.cnblogs.com/zedong/p/9599052.html
Copyright © 2011-2022 走看看