成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

簡述進程、線程與項目的關系

開發(fā) 項目管理
今天我們要簡單談談進程、線程與項目的關系。這里我們用Visual Studio 2010來進行舉例,希望對大家有所幫助。

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

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

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

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

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

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

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

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

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

【編輯推薦】

  1. 新手軟件項目經理該如何入門
  2. 項目經理的力量應該從哪里來?
  3. 當你從程序員變?yōu)轫椖拷浝?/font>
  4. 軟件測試項目為什么會失敗
  5. 項目管理之CVS與SVN日常使用總結
責任編輯:彭凡 來源: 博客園
相關推薦

2010-08-26 16:25:46

IPDHCP服務器

2009-09-16 08:43:51

linux進程線程

2023-12-13 09:56:13

?多進程多線程協(xié)程

2022-06-07 07:37:40

線程進程開發(fā)

2014-12-11 16:40:31

Android|進程線程

2022-02-07 11:55:00

linux進程線程

2022-05-26 08:31:41

線程Java線程與進程

2010-07-26 09:45:09

Perl多進程

2009-08-17 09:30:28

.NET 4.0

2009-06-18 13:18:32

軟件測試需求分析

2012-05-04 09:49:34

進程

2021-05-21 09:36:42

開發(fā)技能代碼

2017-03-17 14:44:04

關系型數(shù)據(jù)庫原理

2020-07-13 10:26:41

CIOIT項目技術

2009-06-22 16:34:30

框架架構設計模式

2013-04-25 09:55:21

進程線程

2023-03-05 16:12:41

Linux進程線程

2012-06-20 14:07:28

多線程架構單線程

2015-09-08 15:13:35

Android進程與線程

2018-07-06 14:00:55

Linux進程線程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久美女 | 亚洲欧美在线一区 | 黄色小视频入口 | 看av片网站 | 欧美日韩在线免费 | 91久久精品一区二区二区 | 久久久免费| 欧美精品一区二区三区在线 | 欧美中文字幕 | 精品久久久久久亚洲国产800 | 久久新| 在线小视频 | 精品久久电影 | 三级高清| 日本高清中文字幕 | 成人国产精品一级毛片视频毛片 | 成人国产精品久久久 | 亚洲国产欧美一区二区三区久久 | 黑人一级黄色大片 | 一级毛片成人免费看a | 亚洲一区二区三区免费在线观看 | 午夜影院操 | 四虎影视一区二区 | 国产美女高潮 | 久久久久久久久99 | 涩涩视频在线播放 | 免费观看的av | 性高湖久久久久久久久3小时 | 四虎精品在线 | 午夜影院操 | 成人在线观看免费 | 日韩精品二区 | 国产精品1区2区 | 99久久免费精品国产男女高不卡 | 亚洲激情视频在线 | 亚洲电影在线播放 | 99pao成人国产永久免费视频 | 日日碰狠狠躁久久躁96avv | 国产精品国产精品国产专区不卡 | 久久99网 | 国产精品毛片一区二区三区 |