Python3之threading模块

Python3之threading模块

原文链接:https://yq.aliyun.com/articles/364801
  1.  
    import threading
  2.  
     
  3.  
    # Tips:一个ThreadLocal变量虽然是全局变量,
  4.  
    # 但每个线程都只能读写自己线程的独立副本,互不干扰。
  5.  
    # ThreadLocal解决了参数在一个线程中各个函数之间互相传递的问题。
  6.  
     
  7.  
    # 创建全局ThreadLocal对象
  8.  
    local_school = threading.local()
  9.  
     
  10.  
    def process_student():
  11.  
    # 获取当前线程关联的student:
  12.  
    std = local_school.student
  13.  
    print('Hello, %s (in %s)' % (std, threading.current_thread().name))
  14.  
     
  15.  
    def process_thread(name):
  16.  
    # 绑定 TheadLocal的Student
  17.  
    local_school.student = name
  18.  
    # 调用上面的方法
  19.  
    process_student()
  20.  
     
  21.  
    # 声明一个名字为:Thread-A的线程 执行process_thread方法 传入name为Memor
  22.  
    # Tips: 此处传入的target的方法名称不需要加()
  23.  
    t1 = threading.Thread(target= process_thread, args=('Memor',),name= 'Thread-A')
  24.  
     
  25.  
     
  26.  
    # 声明一个名字为:Thread-B的线程 执行process_thread方法 传入name为Godliness
  27.  
    # Tips: 此处传入的target的方法名称不需要加()
  28.  
    t2 = threading.Thread(target= process_thread, args=('Godliness',),name= 'Thread-B')
  29.  
     
  30.  
    # 启动
  31.  
    t1.start()
  32.  
    t2.start()
  33.  
    t1.join()
  34.  
    t2.join()
posted on 2019-11-21 12:43  曹明  阅读(78)  评论(0)    收藏  举报