上一篇: 多程序的使用 | 手把手教你入門Python之一百零四 下一篇: 多程序不能共享全局變量 | 手把手教你入門Python之一百零六 本文來自于千鋒教育在阿裡雲開發者社群學習中心上線課程 《Python入門2020最新大課》 ,主講人姜偉。
程序和線程的差別
線程和程序
功能
- 程序,能夠完成多任務,比如 在一台電腦上能夠同時運作多個QQ。
- 線程,能夠完成多任務,比如 一個QQ中的多個聊天視窗。
定義的不同
- 程序是系統進行資源配置設定和排程的一個獨立機關。
- 線程是程序的一個實體,是CPU排程和分派的基本機關,它是比程序更小的能獨立運作的基本機關.線程自己基本上不擁有系統資源,隻擁有一點在運作中必不可少的資源(如程式計數器,一組寄存器和棧),但是它可與同屬一個程序的其他的線程共享程序所擁有的全部資源。
差別
- 一個程式至少有一個程序,一個程序至少有一個線程。
- 線程的劃分尺度小于程序(資源比程序少),使得多線程程式的并發性高。
- 程序在執行過程中擁有獨立的記憶體單元,而多個線程共享記憶體,進而極大地提高了程式的運作效率。
- 線程不能夠獨立執行,必須依存在程序中。
- 可以将程序了解為工廠中的一條流水線,而其中的線程就是這個流水線上的勞工

優缺點
線程和程序在使用上各有優缺點:線程執行開銷小,但不利于資源的管理和保護;而程序正相反。