Thread(執行緒)
多執行緒類似於同時執行多個不同程式
多執行緒執行有如下優點:
1.使用執行緒可以把佔據長時間的程式中的任務放到後臺去處理。
2.使用者介面可以更加吸引人,這樣比如使用者點選了一個按鈕去觸發某些事件的處理,可以彈出一個進度條來顯示處理的進度
3.程式的執行速度可能加快
4.在一些等待的任務實現上如使用者輸入、檔案讀寫和網路收發資料等,執行緒就比較有用了。在這種情況下我們可以釋放一些珍貴的資源如記憶體佔用等等。
Python3 執行緒中常用的兩個模組為:
- _thread
- threading(推薦使用)
執行緒:程式中的每個子任務,不能獨立存在
程式:獨立的所有子任務的集合
執行緒,程式:目的都是想同時完成任務
執行緒的5種狀態:
建立,就緒,執行,阻塞,死亡
1.建立物件:建立
2.start():就緒
3.run():執行
4.:阻塞
5.:死亡
類執行緒例項:
import threading import time class MyThread(threading.Thread): def __init__(self,name): threading.Thread.__init__(self) self.name=name print("My Thread...") def run(self): for i in range(10): print(self.name,i) time.sleep(1) t=MyThread("th1") t2=MyThread("th2") t.start() t.join(3)#join()進來的執行緒先執行 t2.start()
執行緒例項:
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: 無法啟動執行緒") input('')''' def test(threadName): for i in range(20): print(threadName,i) _thread.start_new_thread(test,("th1",)) _thread.start_new_thread(test,("th2",)) input("")
相關文章
- new Thread與執行緒建立thread執行緒
- Java 中的執行緒 threadJava執行緒thread
- Thread執行緒終止interruptthread執行緒
- java多執行緒之Thread類Java執行緒thread
- Java多執行緒(二):Thread類Java執行緒thread
- Java多執行緒Thread類使用Java執行緒thread
- 一. 執行緒管理之Thread基礎執行緒thread
- 多執行緒系列(二)之Thread類執行緒thread
- Thread執行緒知識點講解thread執行緒
- 【 Thread】建立執行緒的2種方法thread執行緒
- Swift多執行緒:使用Thread進行多執行緒間通訊,協調子執行緒任務Swift執行緒thread
- Java多執行緒之Thread原始碼分析Java執行緒thread原始碼
- @Java | Thread & synchronized – [ 執行緒同步鎖 基本使用]Javathreadsynchronized執行緒
- c# 執行緒Thread的IsBackground屬性C#執行緒thread
- java.lang.Thread中守護執行緒Javathread執行緒
- Thread 中的 join() 方法的作用是呼叫執行緒等待該執行緒執行完後,再繼續執行thread執行緒
- python多執行緒之從Thread類繼承Python執行緒thread繼承
- Python多執行緒之_thread與threading模組Python執行緒thread
- java 多執行緒(關於Thread的講解)Java執行緒thread
- 132.繼承Thread實現多執行緒繼承thread執行緒
- 多執行緒設計模式之Worker Thread模式執行緒設計模式thread
- Java 多執行緒(Java.Thread)------ 執行緒協作(生產者消費者模式)Java執行緒thread模式
- 執行緒間通訊_等待/通知之Thread.join()執行緒thread
- Android/java 多執行緒(二)-Thread的好兄弟HandlAndroidJava執行緒thread
- Thread interrupt() 執行緒中斷的詳細說明thread執行緒
- Java多執行緒(04)執行緒狀態與上線文切換以及Thread方法介紹Java執行緒thread
- 總是在聊執行緒Thread,試試協程吧!執行緒thread
- 詳解JAVA執行緒問題診斷工具Thread DumpJava執行緒thread
- Thread執行緒控制之sleep、join、setDaemon方法的用處thread執行緒
- 通過transmittable-thread-local原始碼理解執行緒池執行緒本地變數傳遞的原理MITthread原始碼執行緒變數
- C++11併發程式設計:多執行緒std::threadC++程式設計執行緒thread
- RT_Thread ps指令 輸出執行緒名字顯示不全thread執行緒
- Java實現多執行緒詳解一 ( 繼承Thread方式 )Java執行緒繼承thread
- Thread執行緒的基礎知識及常見疑惑點thread執行緒
- Java21的虛擬執行緒Virtual Thread初體驗Java執行緒thread
- Thread.start() ,它是怎麼讓執行緒啟動的呢?thread執行緒
- 多執行緒------執行緒與程式/執行緒排程/建立執行緒執行緒
- Qt5執行緒錯誤:QThread: Destroyed while thread is still running(執行runThread->exit(0))QT執行緒threadWhile