日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
簡述進(jìn)程、線程與項目的關(guān)系

  首先在Visual Studio2010新建了一個WinForm項目WinFormApp1,里面會默認(rèn)有個叫Form1的窗口。假設(shè),項目WinFormApp1的功能是為了查詢遠(yuǎn)端Ftp服務(wù)器的文檔目錄,然后把查到的結(jié)果顯示到Form1的界面上。通常的做法是在Form1.cs類中添加一個QueryFtpFiles()方法用于對遠(yuǎn)端的ftp服務(wù)器進(jìn)行讀操作,然后把讀到的內(nèi)容顯示到界面上就算完成了。

  在這個項目完成后,一般會先在本地或局域網(wǎng)內(nèi)的某個Ftp服務(wù)器上先做個測試,這時你會發(fā)現(xiàn)程序很***地運行著。當(dāng)你興致沖沖地把代碼交給你領(lǐng)導(dǎo)的時候,你的上司拿了遠(yuǎn)在美國的ftp服務(wù)器來試運行,點擊“查詢”按鈕執(zhí)行QueryFtpFiles()查詢操作的時候,悲劇發(fā)生了——頁面死掉了(沒有響應(yīng))。。。你是不是覺得很沒面子?有木有?

  這里有個問題,就是在執(zhí)行QueryFtpFiles()方法時,由于是對遠(yuǎn)端的ftp服務(wù)器進(jìn)行讀操作,本身IO操作就比較耗時,再考慮到網(wǎng)絡(luò)延遲等因素,你的界面就不得不停下了等待讀操作的完成。如果在這個讀操作完成前,你急不可耐地點了下界面,就出現(xiàn)了“沒有響應(yīng)”的后果。

  其實,我在運行這個項目的時候,實際上是在運行由這個項目自動在Debug或Release目錄下生成的WinFormApp1.exe應(yīng)用程序,而WinFormApp1.exe對于我的Windows Server2003即操作系統(tǒng)來說,他就是一個進(jìn)程。

  操作系統(tǒng)書中講,傳統(tǒng)的進(jìn)程有兩個基本屬性:擁有資源的獨立單位和可獨立調(diào)度和分配的基本單位。由于在進(jìn)程的創(chuàng)建、撤銷和切換中,系統(tǒng)必須耗費較大的時空開銷。引入線程后,傳統(tǒng)的進(jìn)程的兩個基本屬性分開,線程作為調(diào)度和分配的基本單位,進(jìn)程作為獨立分配資源的單位。也就是說,在完成一個復(fù)雜的功能時,可以在一個進(jìn)程中建立多個線程,每個線程分別完成某一項簡單功能,進(jìn)程通過調(diào)度和排列組合這些線程來實現(xiàn)這個復(fù)雜的功能。

  線程,其實就是一段代碼,一個方法或一連串方法,這段代碼或方法可以去完成某個功能,也可以什么都不用做,比如上面提到的QueryFtpFiles(),它其實就滿足作為線程的基本條件。

  再回到原來的“沒有響應(yīng)”的問題上,在執(zhí)行WinFormApp1.exe這個進(jìn)程的時候,這個進(jìn)程會調(diào)用UI線程,其實也就是Form1.cs內(nèi)的代碼以及它調(diào)用的其他類的代碼,因為QueryFtpFiles()也在Form1.cs這個類中,所以它也算是UI線程的一部分。WinFormApp1.exe進(jìn)程執(zhí)行時會首先調(diào)用這個UI線程(若沒有定義其他線程,這時UI線程應(yīng)該也是這個進(jìn)程的唯一線程),這個UI線程在執(zhí)行QueryFtpFile()方法的過程中由于耗時很多以至于這個進(jìn)程其他什么什么操作都要停下來等待,包括你去點擊界面的操作。

  問題的描述應(yīng)該就是這樣了,至于解決方法,可以在UI線程中再定義另外一個線程thread1用來執(zhí)行QueryFtpFile()方法就可以了。

原文鏈接:http://www.cnblogs.com/computer-lzy/archive/2011/07/19/2111002.html

【編輯推薦】

  1. 新手軟件項目經(jīng)理該如何入門
  2. 項目經(jīng)理的力量應(yīng)該從哪里來?
  3. 當(dāng)你從程序員變?yōu)轫椖拷?jīng)理
  4. 軟件測試項目為什么會失敗
  5. 項目管理之CVS與SVN日常使用總結(jié)

標(biāo)題名稱:簡述進(jìn)程、線程與項目的關(guān)系
分享URL:http://m.5511xx.com/article/cdjgppo.html