1. 程式人生 > >多線程 -- threading

多線程 -- threading

light sel style func tar fun port div 調用

  • 多線程的調用
    • 直接調用
      import threading
      import time
      
      #定義每個線程要運行的函數
      def my_func(num, **kwargs):
      
          print("%s running on number:%s" % (kwargs[‘name‘], num))
          time.sleep(3)
      
      if __name__ == ‘__main__‘:
          #生成一個線程實例
          t1 = threading.Thread(target=my_func, args=(1,), kwargs={‘name‘: ‘my_thread‘})
          #生成另一個線程實例
          t2 = threading.Thread(target=my_func, args=(2,), kwargs={‘name‘: ‘my_thread‘})
      
          #啟動線程
          t1.start()
          #啟動另一個線程
          t2.start()
      
          #獲取線程名
          print(t1.getName())
          print(t2.getName())
      
    • 繼承式調用
      import threading
      import time
      
      class MyThread(threading.Thread):
          def __init__(self, num):
              threading.Thread.__init__(self)
              self.num = num
      
          #定義每個線程要運行的函數
          def run(self):
              print("running on number:%s" % self.num)
              time.sleep(3)
      
      if __name__ == ‘__main__‘:
      
          t1 = MyThread(1)
          t2 = MyThread(2)
          t1.start()
          t2.start()
      

多線程 -- threading