1、線程的概念: 線程是程式最基本的運行單位,而進程不能運行,所以能運行的,是進程中的線程。 2、線程是如何創建起來的: 進程僅僅是一個容器,包含了線程運行中所需要的數據結構等信息。一個進程創建時,操作系統會創建一個線程,這就是主線程,而其他的從線程,卻要主線程的代碼來創建,也就是由程式員來創建。 ...
1、線程的概念:
線程是程式最基本的運行單位,而進程不能運行,所以能運行的,是進程中的線程。
2、線程是如何創建起來的:
進程僅僅是一個容器,包含了線程運行中所需要的數據結構等信息。一個進程創建時,操作系統會創建一個線程,這就是主線程,而其他的從線程,卻要主線程的代碼來創建,也就是由程式員來創建。
當一個程式啟動時,就有一個進程被操作系統(OS)創建,與此同時一個線程也立刻運行,該線程通常叫做程式的主線程(Main Thread),因為它是程式開始時就執行的,如果你需要再創建線程,那麼創建的線程就是這個主線程的子線程。每個進程至少都有一個主線程,在Winform中,應該就是創建GUI的線程。 主線程的重要性體現在兩方面:1.是產生其他子線程的線程;2.通常它必須最後完成執行比如執行各種關閉動作。
3、究竟main函數是進程還是線程呢:
因為它們都是以main()做為入口開始運行的。 是一個線程,同時還是一個進程。在現在的操作系統中,都是多線程的。但是它執行的時候對外來說就是一個獨立的進程。這個進程中,可以包含多個線程,也可以只包含一個線程。當用c寫一段程式的話,就是在操作系統中起一個進程它包含一個線程。而當用java等開發一個多線程的程式的話,它在操作系統中起了一個進程,但它可以包含多個同時運行的線程。