線程(thread)技術(shù)早在60年代就被提出,但真正應(yīng)用線程到操作系統(tǒng)中去,是在80年代中期。為什么有了進(jìn)程的概念后,還要再引入線程呢?使用多線程到底有哪些好處?
使用多線程的理由之一是和進(jìn)程相比,它是一種非常”節(jié)儉”的多任務(wù)操作方式。在Linux系統(tǒng)下,啟動(dòng)一個(gè)新的進(jìn)程必須分配獨(dú)立的地址空間,建立眾多的數(shù)據(jù)表來維護(hù)它的代碼段、堆棧段和數(shù)據(jù)段。而運(yùn)行于一個(gè)進(jìn)程中的多個(gè)線程,它們之間使用相同的地址空間,共享大部分?jǐn)?shù)據(jù),啟動(dòng)一個(gè)線程所花費(fèi)的空間遠(yuǎn)遠(yuǎn)小于進(jìn)程所花費(fèi)的空間,而且,線程間彼此切換所需的時(shí)間也遠(yuǎn)遠(yuǎn)小于進(jìn)程間所需要的時(shí)間。
使用多線程的理由之二是線程間方便的通信機(jī)制。對(duì)不同進(jìn)程來說,它們具有獨(dú)立的數(shù)據(jù)空間,要進(jìn)行數(shù)據(jù)的傳遞只能通過通信的方式進(jìn)行,這種方式費(fèi)時(shí)且很不方便。由于同,進(jìn)程下的線程之間共享數(shù)據(jù)空間,所以一個(gè)線程的數(shù)據(jù)可以直接為其它線程所用,這樣快且方便。
在計(jì)算機(jī)中,凡是提供服務(wù)的一方我們稱為服務(wù)端(Server),而接受服務(wù)的另一方我們稱作客戶端(Client)。不過客戶端及伺服端的關(guān)系不見得一定建立在兩臺(tái)分開的機(jī)器上,提供服務(wù)的伺服端及接受服務(wù)的客戶端也有可能都在同一臺(tái)機(jī)器上,這樣在同一臺(tái)機(jī)器上就同時(shí)扮演伺服端及客戶端。
線程間方便的通信機(jī)制可以使得在我們?cè)诜?wù)端和客戶端方便的進(jìn)行通信傳輸與各種操作,可以通過運(yùn)用多線程機(jī)制方便實(shí)現(xiàn)上傳、下載文件:增加、刪除用戶:以及在服務(wù)端進(jìn)行文件的管理。
資源簡(jiǎn)介:線程(thread)技術(shù)早在60年代就被提出,但真正應(yīng)用線程到操作系統(tǒng)中去,是在80年代中期。為什么有了進(jìn)程的概念后,還要再引入線程呢?使用多線程到底有哪些好處?使用多線程的理由之一是和進(jìn)程相比,它是一種非常”節(jié)儉”的多任務(wù)操作方式。在linux系統(tǒng)下,...
上傳時(shí)間: 2022-06-20
上傳用戶:
資源簡(jiǎn)介:基于socket的文件傳輸,包括服務(wù)器和客戶端,程序簡(jiǎn)潔但功能全.
上傳時(shí)間: 2013-12-05
上傳用戶:gonuiln
資源簡(jiǎn)介:linux下基于socket的聊天室,包括主機(jī)端和客戶端的源程序
上傳時(shí)間: 2016-06-11
上傳用戶:大融融rr
資源簡(jiǎn)介:基于socket的文件傳輸,軟件平臺(tái)為JAVA,主要為文件傳輸方面的網(wǎng)絡(luò)傳輸
上傳時(shí)間: 2013-11-30
上傳用戶:as275944189
資源簡(jiǎn)介:利用MSCOMM串口通信控件進(jìn)行異步串行通信的文件傳輸程序設(shè)計(jì)
上傳時(shí)間: 2016-06-13
上傳用戶:tfyt
資源簡(jiǎn)介:用C語言寫的linux下基于socket通訊的聊天程序,可以實(shí)現(xiàn)端到端的聊天或多人組播聊天
上傳時(shí)間: 2013-12-22
上傳用戶:pkkkkp
資源簡(jiǎn)介:http協(xié)議下的文件傳輸程序
上傳時(shí)間: 2015-01-12
上傳用戶:784533221
資源簡(jiǎn)介:在linux下如何編寫多文件C程序的makefile文件,介紹器一般規(guī)則急用法
上傳時(shí)間: 2013-12-19
上傳用戶:cuibaigao
資源簡(jiǎn)介:linux下基于EP7312的ADS7843顯示屏驅(qū)動(dòng)程序,
上傳時(shí)間: 2015-04-23
上傳用戶:zl5712176
資源簡(jiǎn)介:linux下支持P2P的客戶端程序,采用了Gnutella的方法,其中有實(shí)現(xiàn)Gnutella的具體源碼,是一個(gè)基于p2p環(huán)境下的音樂共享軟件,有助于對(duì)P2P的研究
上傳時(shí)間: 2015-10-02
上傳用戶:caixiaoxu26
資源簡(jiǎn)介:arm9 linux下基于攝像頭的物體移動(dòng)檢測(cè)程序,可以用在門禁上,當(dāng)有人經(jīng)過時(shí),自動(dòng)通過基于video4linux的攝像頭拍攝照片,并進(jìn)行簽名
上傳時(shí)間: 2016-06-18
上傳用戶:change0329
資源簡(jiǎn)介:制作嵌入式linux下基于qtopia的圖形文件系統(tǒng)的完整過程描述,包括qtopia、busybox的使用等
上傳時(shí)間: 2013-12-24
上傳用戶:exxxds
資源簡(jiǎn)介:嵌入式linux下基于SRAM的內(nèi)存文件系統(tǒng),可實(shí)現(xiàn)正常的文件接口功能以及掉電保護(hù)功能。
上傳時(shí)間: 2016-12-29
上傳用戶:亞亞娟娟123
資源簡(jiǎn)介:arm9 linux下基于攝像頭的物體移動(dòng)檢測(cè)程序,可以用在門禁上,當(dāng)有人經(jīng)過時(shí),自動(dòng)通過基于video4linux的攝像頭檢測(cè)到物體
上傳時(shí)間: 2017-01-16
上傳用戶:金宜
資源簡(jiǎn)介:arm9 linux下基于攝像頭的物體移動(dòng)檢測(cè)程序,可以用在門禁上,當(dāng)有人經(jīng)過時(shí),自動(dòng)通過基于video4linux的攝像頭
上傳時(shí)間: 2013-12-19
上傳用戶:小儒尼尼奧
資源簡(jiǎn)介:linux下基于ssl安全套接字設(shè)計(jì)的一個(gè)聊天程序,包含客戶端和服務(wù)器的源碼。
上傳時(shí)間: 2017-02-10
上傳用戶:wangdean1101
資源簡(jiǎn)介:linux環(huán)境下基于FAT的文件系統(tǒng)的通用代碼
上傳時(shí)間: 2017-05-10
上傳用戶:英雄
資源簡(jiǎn)介:此代碼為linux下RTP協(xié)議的數(shù)據(jù)接收程序,包括Makefile文件和主函數(shù),但在開發(fā)前需要添加jrtplib-2.9庫。
上傳時(shí)間: 2014-01-14
上傳用戶:hfmm633
資源簡(jiǎn)介:基于CryptoAPI的文件加密程序。在windowsXP ,VC++6.0 環(huán)境下調(diào)試通過。程序代碼有詳細(xì)的注釋,程序格式規(guī)范,書寫清晰,條理清楚。
上傳時(shí)間: 2017-05-15
上傳用戶:zxc23456789
資源簡(jiǎn)介:UNIX/linux下自編的消息隊(duì)列程序
上傳時(shí)間: 2014-01-05
上傳用戶:zukfu
資源簡(jiǎn)介:linux下基于web的個(gè)人信息管理器源碼
上傳時(shí)間: 2013-12-20
上傳用戶:wab1981
資源簡(jiǎn)介:基于socket的簡(jiǎn)單通訊程序,學(xué)習(xí)socket編程的基本程序
上傳時(shí)間: 2013-12-09
上傳用戶:wab1981
資源簡(jiǎn)介:linux下學(xué)習(xí)socket的編程,使用tcp協(xié)議,用c語言編寫的,一個(gè)server.c 另一個(gè)為client.c 經(jīng)過調(diào)試。
上傳時(shí)間: 2013-12-19
上傳用戶:hullow
資源簡(jiǎn)介:linux 下串口的通訊調(diào)試程序C語言編寫的源代碼
上傳時(shí)間: 2015-04-20
上傳用戶:libenshu01
資源簡(jiǎn)介:linux下三星4510的BSP驅(qū)動(dòng)程序!已經(jīng)試驗(yàn)成功,包括啟動(dòng),對(duì)FLASH的編輯等!
上傳時(shí)間: 2015-04-21
上傳用戶:hoperingcong
資源簡(jiǎn)介:linux下TCP/IP的簡(jiǎn)單測(cè)試程序,已經(jīng)在linux和嵌入式linux下通訊成功。
上傳時(shí)間: 2015-07-11
上傳用戶:alan-ee
資源簡(jiǎn)介:剛學(xué)VC時(shí)寫的文件傳輸程序,全部用socketAPI編寫
上傳時(shí)間: 2014-01-07
上傳用戶:l254587896
資源簡(jiǎn)介:linux 下svgalib編的一個(gè)界面程序示例,包括自己實(shí)現(xiàn)的動(dòng)畫、標(biāo)簽、按鈕等
上傳時(shí)間: 2013-12-19
上傳用戶:pompey
資源簡(jiǎn)介:這是一個(gè) 在S3C44B0板子,基于UClinux的網(wǎng)絡(luò)傳輸程序,send.c是發(fā)送AD采集的數(shù)據(jù)(SEND.C帶有AD采集程序).SET.C是設(shè)置程序比如采集時(shí)間等等.
上傳時(shí)間: 2014-01-16
上傳用戶:362279997
資源簡(jiǎn)介:一個(gè)基于socket的在線更新程序,有以下特點(diǎn):1、socket api + 多線程,更新部分放在Dll中,接口簡(jiǎn)單,調(diào)用方便。2、支持多級(jí)目錄更新3、支持Socks5代理4、MSN風(fēng)格的浮動(dòng)窗口
上傳時(shí)間: 2014-11-11
上傳用戶:cainaifa