### 進程VS線程
#### 功能
* 進程,能夠完成多任務,比如 在一臺電腦上能夠同時運行多個QQ
* 線程,能夠完成多任務,比如 一個QQ中的多個聊天窗口

### 定義的不同
* 進程是系統進行資源分配和調度的一個獨立單位.
* 線程是進程的一個實體,是CPU調度和分派的基本單位,它是比進程更小的能獨立運行的基本單位.線程自己基本上不擁有系統資源,只擁有一點在運行中必不可少的資源(如程序計數器,一組寄存器和棧),但是它可與同屬一個進程的其他的線程共享進程所擁有的全部資源.
### 區別
* 一個程序至少有一個進程,一個進程至少有一個線程.
* 線程的劃分尺度小于進程(資源比進程少),使得多線程程序的并發性高。
* 進程在執行過程中擁有獨立的內存單元,而多個線程共享內存,從而極大地提高了程序的運行效率
* 線線程不能夠獨立執行,必須依存在進程中
### 優缺點
線程和進程在使用上各有優缺點:線程執行開銷小,但不利于資源的管理和保護;而進程正相反。