多线程应用场景
線程與進程區別
每個正在系統上運行的程序都是一個進程。每個進程包含一到多個線程。線程是一組指令的集合,或者是程序的特殊段,它可以在程序里獨立執行。也可以把它理解為代碼運行的上下文。所以線程基本上是輕量級的進程,它負責在單個程序里執行多任務。通常由操作系統負責多個線程的調度和執行。
使用線程可以把占據時間長的程序中的任務放到后臺去處理,程序的運行速度可能加快,在一些等待的任務實現上如用戶輸入、文件讀寫和網絡收發數據等,線程就比較有用了。在這種情況下可以釋放一些珍貴的資源如內存占用等等。
如果有大量的線程,會影響性能,因為操作系統需要在它們之間切換,更多的線程需要更多的內存空間,線程的中止需要考慮其對程序運行的影響。通常塊模型數據是在多個線程間共享的,需要防止線程死鎖情況的發生。
總結:進程是所有線程的集合,每一個線程是進程中的一條執行路徑。
為什么要使用多線程?
多線程應用場景?
答:主要能體現到多線程提高程序效率。
舉例: 迅雷多線程下載、數據庫連接池、分批發送短信等。
?
?
?
?
?
?
?
?
?
?
?
?
總結
- 上一篇: 非对称加密整个过程
- 下一篇: 继承thread类创建线程