python有多執行緒嗎
多執行緒類似於同時執行多個不同程式,多執行緒執行有如下優點:
使用執行緒可以把佔據長時間的程式中的任務放到後臺去處理。使用者介面可以更加吸引人,這樣比如使用者點選了一個按鈕去觸發某些事件的處理,可以彈出一個進度條來顯示處理的進度程式的執行速度可能加快在一些等待的任務實現上如使用者輸入、檔案讀寫和網路收發資料等,執行緒就比較有用了。在這種情況下我們可以釋放一些珍貴的資源如記憶體佔用等等。
執行緒在執行過程中與程式還是有區別的。每個獨立的程式有一個程式執行的入口、順序執行序列和程式的出口。但是執行緒不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制。
每個執行緒都有他自己的一組CPU暫存器,稱為執行緒的上下文,該上下文反映了執行緒上次執行該執行緒的CPU暫存器的狀態。
指令指標和堆疊指標暫存器是執行緒上下文中兩個最重要的暫存器,執行緒總是在程式得到上下文中執行的,這些地址都用於標誌擁有執行緒的程式地址空間中的記憶體。
執行緒可以被搶佔(中斷)。在其他執行緒正在執行時,執行緒可以暫時擱置(也稱為睡眠) -- 這就是執行緒的退讓。
Python中使用執行緒有兩種方式:函式或者用類來包裝執行緒物件。
函式式:呼叫thread模組中的start_new_thread()函式來產生新執行緒。語法如下:
thread.start_new_thread ( function, args[, kwargs] )
引數說明:
function - 執行緒函式。
args - 傳遞給執行緒函式的引數,他必須是個tuple型別。
kwargs - 可選引數。
例項
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
以上程式輸出結果
Thread-1: Thu Jan 22 15:42:17 2009 Thread-1: Thu Jan 22 15:42:19 2009 Thread-2: Thu Jan 22 15:42:19 2009 Thread-1: Thu Jan 22 15:42:21 2009 Thread-2: Thu Jan 22 15:42:23 2009 Thread-1: Thu Jan 22 15:42:23 2009 Thread-1: Thu Jan 22 15:42:25 2009 Thread-2: Thu Jan 22 15:42:27 2009 Thread-2: Thu Jan 22 15:42:31 2009 Thread-2: Thu Jan 22 15:42:35 2009
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1343/viewspace-2835752/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 什麼是多執行緒?Python多執行緒有什麼優勢?執行緒Python
- python多執行緒Python執行緒
- Python 多執行緒Python執行緒
- 多執行緒中不用sleep(),行嗎?執行緒
- Python 多執行緒多程式Python執行緒
- python多執行緒示例Python執行緒
- python多執行緒中:如何關閉執行緒?Python執行緒
- Python——程式、執行緒、協程、多程式、多執行緒(個人向)Python執行緒
- 【Python】 多程式與多執行緒Python執行緒
- python多執行緒程式設計1— python對多執行緒的支援Python執行緒程式設計
- 多執行緒和多執行緒同步執行緒
- 多執行緒【執行緒池】執行緒
- 多執行緒--執行緒管理執行緒
- Java多執行緒——執行緒Java執行緒
- 執行緒與多執行緒執行緒
- python3 多執行緒Python執行緒
- 04.python-多執行緒Python執行緒
- Python 多執行緒及程式Python執行緒
- python--多工執行緒Python執行緒
- python多執行緒基礎Python執行緒
- Python 多執行緒和鎖Python執行緒
- python多執行緒實現Python執行緒
- 理解 python 中多執行緒Python執行緒
- python 多執行緒 入門Python執行緒
- Python的多程式和多執行緒Python執行緒
- Python中的多工:多執行緒Python執行緒
- 入門python多執行緒/多程式Python執行緒
- 搞定python多執行緒和多程式Python執行緒
- 關於 Python 多執行緒/多程式Python執行緒
- VC多執行緒 C++ 多執行緒執行緒C++
- Python執行緒專題10:queue、多執行緒按順序執行Python執行緒
- 多執行緒-執行緒控制之休眠執行緒執行緒
- 多執行緒-執行緒控制之加入執行緒執行緒
- 多執行緒-執行緒控制之禮讓執行緒執行緒
- 多執行緒-執行緒控制之中斷執行緒執行緒
- 多執行緒之初識執行緒執行緒
- Java多執行緒-執行緒中止Java執行緒
- Java多執行緒——執行緒池Java執行緒