zoukankan      html  css  js  c++  java
  • Python并发编程:多线程-Thread对象的其它属性和方法

    Thread对象的其它属性或方法

    介绍:

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

      

    验证

    from threading import Thread
    import threading
    from multiprocessing import Process
    import os
    import time
    
    def work():
        time.sleep(3)
        print(threading.current_thread().getName())
    
    
    if __name__ == '__main__':
        # 在主进程下开启线程
        t = Thread(target=work)
        t.start()
    
        print(threading.current_thread().getName())
        print(threading.current_thread())   # 主线程
        print(threading.enumerate())    # 连同主线程在内有两个运行的线程
        print(threading.active_count())
        print('主线程/主进程')
    

      执行结果

    MainThread
    <_MainThread(MainThread, started 140037784917824)>
    [<_MainThread(MainThread, started 140037784917824)>, <Thread(Thread-1, started 140037751482112)>]
    2
    主线程/主进程
    Thread-1
    

      主线程等待子线程结束

    import time
    
    def sayhi(name):
        time.sleep(2)
        print('%s say hello' % name)
    
    if __name__ == '__main__':
        t = Thread(target=sayhi, args=('mike', ))
        t.start()
        t.join()
        print('主线程')
        print(t.is_alive())
    

      执行结果

    mike say hello
    主线程
    False
    

      

  • 相关阅读:
    #虚树,树形dp#CF613D Kingdom and its Cities
    #搜索,容斥#洛谷 2567 [SCOI2010]幸运数字
    #三分#洛谷 5931 [清华集训2015]灯泡
    windows中日期自动替换
    oracle的tablespaces使用情况监控
    k8s配置master运行pod
    redis配置数据持久化
    Centos7清理僵尸进程
    ZOJ 1078 Palindrom Numbers
    OCP 071【中文】考试题库(cuug整理)第33题
  • 原文地址:https://www.cnblogs.com/mike-liu/p/9287216.html
Copyright © 2011-2022 走看看