線程模塊

線程模塊:python

 

使用Threading模塊建立線程網絡

 

瞭解線程:函數

  1. 使用線程能夠把佔據時間的程序中的任務放到後臺去處理。
  2. 用戶界面能夠更加的吸引人,這樣吧入用戶點擊了一個按鈕去觸發某些事件的處理,能夠彈出一個進度條來顯示處理的速度。
  3. 程序的運行速度可能加快。
  4. 在一些等待的任務實現上如用戶輸入,文件讀寫好人網絡收發數據等,線程就比較好用了。在這種狀況下咱們能夠釋放一些珍貴的資源如內存佔用等等。
  5. 線程在執行過程當中與進程仍是有區別的。每個獨立的線程有一個程序運行的入口,順序執行序列和程序的出口。可是線程不能獨立執行,必須依存在的應用程序中,由應用程序提供多個線程執行控制。
  6. 每一個線程都有本身的一組CPU寄存器,稱之爲線程的上下文,該上下文反映了線程上次運行該線程的CPU寄存器的狀態。
  7. 指令指針和堆棧指針寄存器是線程上下文中兩個最重要的寄存器,線程老是在進程獲得上下文中運行的,這些地址都用於標誌擁有線程的進程地址空間中的內存。
  8. 在其餘線程正在運行時,線程能夠暫時擱置也稱爲睡眠---這就是線程的退讓。
  9. Python中使用線程有兩種方式:函數或者用類來包裝線程對象
  10. 函數式:調用thread模塊中的start new_thread()函數用來產生新線程
    •   thread.start new_thread(function,args[,kwargs])參數說明
    • function -線程函數。
    • args-傳遞給線程函數的參數,他必須是個tuple類型。
    • kwargs-可選參數。
    • 實例:
    • #!/usr/bin/python
      # -*- coding: UTF-8 -*- 
      import thread
      import time# 爲線程定義一個函數
      def print_time( threadName, delay):
      count = 0
      while count < 5:
      time.sleep(delay)
      count += 1
      print "%s: %s" % ( threadName, time.ctime(time.time()) )# 建立兩個線程
      try:
      thread.start_new_thread( print_time, ("Thread-1", 2, ) )
      thread.start_new_thread( print_time, ("Thread-2", 4, ) )
      except:
      print "Error: unable to start thread"
      while 1:
      pass
相關文章
相關標籤/搜索