第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

新手請教,關(guān)于異步處理的程序

新手請教,關(guān)于異步處理的程序

狐的傳說 2018-10-10 01:02:28
最近在編寫一個程序,主要實現(xiàn)了從多個Ftp站點自動下載數(shù)據(jù),程序結(jié)構(gòu)如下:Private void btnStartClicked(){       For()       {              //代碼多,不一一表示了,主要是對每個站進行遍歷,實現(xiàn)每個站數(shù)據(jù)的下載              //其中調(diào)用了下面這個函數(shù),這個函數(shù)實現(xiàn)單個站的數(shù)據(jù)下載。              downSingleSite(string [] siteInfo);}} Private void downSingleSite(string [] siteInfo){/*這個函數(shù)先根據(jù)提供的站點控制信息訪問網(wǎng)絡(luò),獲取下載文件的信息,并按條件進行篩選,獲取需要下載的文件信息并存入fileInfoList中。Foreach(string singleFile in fileInfoList){       啟動一個線程執(zhí)行數(shù)據(jù)下載功能;}//如果有10個文件需要下載,那么就啟動了10個線程進行下載。       While()   //用于對這幾個線程執(zhí)行是否完成進行判斷.       {              如果沒完成Thread.sleep(3000);}}在以上程序中,我的程序能正常下載數(shù)據(jù),但是由于在窗口服務(wù)線程中執(zhí)行了這一數(shù)據(jù)下載過程,在這一服務(wù)未完成之前,其他窗口消息無法得到響應(yīng)因此,當(dāng)單擊窗口界面是,出現(xiàn)程序無響應(yīng)的顯示,,而我在程序中使用了sleep()是程序睡眠,但仍然沒有效果,不知是何原因。請各位高手不吝賜教,我該如何改變我的程序結(jié)構(gòu),請稍微詳細(xì)一點,我剛?cè)腴T,知識還比較欠缺。
查看完整描述

2 回答

?
守著一只汪

TA貢獻1872條經(jīng)驗 獲得超4個贊

用 BackgroundWorker 控件。具體可見 MSDN。

查看完整回答
反對 回復(fù) 2018-10-22
?
當(dāng)年話下

TA貢獻1890條經(jīng)驗 獲得超9個贊

判斷是否完成的While循環(huán)是在窗體的主線程中運行的,窗口當(dāng)然會失去響應(yīng)了??梢栽賳右粋€線程執(zhí)行判斷。或用用 BackgroundWorker 控件

查看完整回答
反對 回復(fù) 2018-10-22
  • 2 回答
  • 0 關(guān)注
  • 430 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號