線程(thread)技術早在60年代就被提出,但真正應用線程到操作系統中去,是在80年代中期。為什么有了進程的概念后,還要再引入線程呢?使用多線程到底有哪些好處?使用多線程的理由之一是和進程相比,它是一種非常”節儉”的多任務操作方式。在Linux系統下,啟動一個新的進程必須分配獨立的地址空間,建立眾多的數據表來維護它的代碼段、堆棧段和數據段。而運行于一個進程中的多個線程,它們之間使用相同的地址空間,共享大部分數據,啟動一個線程所花費的空間遠遠小于進程所花費的空間,而且,線程間彼此切換所需的時間也遠遠小于進程間所需要的時間。使用多線程的理由之二是線程間方便的通信機制。對不同進程來說,它們具有獨立的數據空間,要進行數據的傳遞只能通過通信的方式進行,這種方式費時且很不方便。由于同,進程下的線程之間共享數據空間,所以一個線程的數據可以直接為其它線程所用,這樣快且方便。在計算機中,凡是提供服務的一方我們稱為服務端(Server),而接受服務的另一方我們稱作客戶端(Client)。不過客戶端及伺服端的關系不見得一定建立在兩臺分開的機器上,提供服務的伺服端及接受服務的客戶端也有可能都在同一臺機器上,這樣在同一臺機器上就同時扮演伺服端及客戶端。線程間方便的通信機制可以使得在我們在服務端和客戶端方便的進行通信傳輸與各種操作,可以通過運用多線程機制方便實現上傳、下載文件:增加、刪除用戶:以及在服務端進行文件的管理。
標簽:
linux
socket
文件傳輸
上傳時間:
2022-06-20
上傳用戶: