線程是操作系統能夠進行運算調度的最小單位。
線程是程序執行中壹個獨立的路徑,是程序使用CPU的最基本單位,是進程中的單個順序控制流,是壹條執行路徑。壹個進程如果只有壹條執行路徑,則稱為單線程程序;壹個進程如果有多條執行路徑,則稱為多線程程序。
線程是操作系統能夠進行運算調度的最小單位。它是由進程內的壹個執行路徑,是進程中的單個順序控制流。線程自己基本上不擁有系統資源,只擁有壹點在運行中必不可少的資源(如程序計數器,壹組寄存器和棧),但它可與同屬壹個進程的其他的線程***享進程所擁有的全部資源。
線程可以被分為兩類:用戶級線程和內核級線程。用戶級線程也被稱為輕量級線程,它們完全建立在用戶空間中,由應用程序自行管理;而內核級線程則被稱為重量級線程,它們需要操作系統的支持。
線程主要有以下幾個特點:
輕型性:線程的實體很小,它基本上不占用內存,只有少量的棧空間和壹些必要的寄存器占用的CPU空間。並發性:在同壹個進程中的多個線程可以並發執行,它們***享進程的資源,但每個線程都有自己的棧空間和寄存器。
獨立性:每個線程都有自己的程序計數器、棧和局部變量等,它們各自執行自己的程序,互不幹擾。***享性:同壹進程中的所有線程都***享該進程的地址空間和資源,它們可以訪問同壹個變量、內存地址等。