thread:多线程的底层支持模块,一般不建议使用;

threading:对thread进行了封装,将一些线程的操作对象化,一般采用这种方法实现多线程编程


多线程实现有两种模式:

    1.创建线程要执行的函数,把这个函数传递进Thread对象里

    2.直接从Threading继承,新建一个新的类class,


threading模块:

threading.Thread类的重要函数

  threading.currentThread(): 返回当前的线程变量。

  threading.enumerate(): 返回一个包含正在运行的线程的list。正在运行指线程启动后、结束前,不包括启动前和终止后的线程。

  threading.activeCount(): 返回正在运行的线程数量,与len(threading.enumerate())有相同的结果。


  start()方法    启动线程活动

  is_alive()或isAlive()方法    返回线程是否活动的

  setDaemon()方法    

  isDaemon()方法

  run()方法     用以表示线程活动的方法

  getName()方法    返回线程名

  setName()方法    设置线程名

  join([time])方法    等待至线程中止。这阻塞调用线程直至线程的join() 方法被调用中止-正常退出或者抛出未处理的异常-或者是可选的超时发生