慎用Application.DoEvents( )
如果在UI的訊息處理函式中進行較大量的計算或對介面進行操作,佔用較長時間時可以在中間呼叫Application.DoEvents來響應使用者操作,但不建議這樣做,替代的方法就是在後臺執行緒中進行這些操作,用執行緒池是一個不錯的方法(例如System.Threading.ThreadPool)。
該函式只能在UI的主執行緒中呼叫,不不不要在工作執行緒中呼叫該函式,否則Application.DoEvents可能掛死永不退出,使用reflector反編譯了一下這個函式,發現裡面沒有使用lock之類的執行緒鎖,可能不是執行緒安全的,在MSDN的文件中也沒有說明該函式是執行緒安全的,所以一定不要在多個執行緒中使用它。
一條絕對安全的方法就是:別用它!
具體什麼原因可能導致該函式不退出還沒有研究出來,有空重現一下。
相關推薦
C#中慎用Application.DoEvents
span div event AC 事件 pri ++ end tac private void Add() { for (int i = 0; i < 100; i++) {
慎用Application.DoEvents( )
如果在UI的訊息處理函式中進行較大量的計算或對介面進行操作,佔用較長時間時可以在中間呼叫Application.DoEvents來響應使用者操作,但不建議這樣做,替代的方法就是在後臺執行緒中進行這些操作,用執行緒池是一個不錯的方法(例如System.Threading.Thr
c#學習筆記之Application.DoEvents應用
box nbsp net replace 運算 技術 oop blank 假死 Visual Studio裏的摘要:處理當前在消息隊列中的所有 Windows 消息。 交出CPU控制權,讓系統可以處理隊列中的所有Windows消息 比如在大運算量循環內,加Applicati
【C# 開發技巧】 Application.DoEvents( ) 使用筆記
該方法可以處理當前佇列的訊息,比如一個for迴圈 5000次 向TextBox中追加文字,那肯定會假死一會兒的。 此時便可使用Application.DoEvents()來處理佇列的資訊。 簡單說下使用Application.DoEvents() 和 不使用Application.DoEv
巧用C#webbrowser以及Application.DoEvents()實現採集動態網頁的爬蟲機器人
http://www.cnblogs.com/finallyliuyu/archive/2010/10/28/1863691.html 作者:finallyliuyu (轉載請註明作者:finallyliuyu,出處:部落格園) 從事網路資料抓取採集從本科畢設算
ASP.NET web application中的redirect
services append 窗口 eve redirect 系統 permanent lac tran 在開發ASP.NET MVC web application過程中,開發上線了新系統後,需要把老系統的url redirect新系統下 其中在項目系統目錄下有一個文件
Application類
截圖 統一資源定位符 ger 退出應用 screens 主機 sha 手機端 png using System.Collections; using System.Collections.Generic; using UnityEngine; using System.
Xcode 真機調試報錯:This application's application-identifier entitleme
報錯 調試 win cati app itl ati 刪除 allow This application‘s application-identifier entitlement does not match that of the installed applicatio
解決Problem with writing the data, class java.util.ArrayList, ContentType: application/xml
writing 數據庫 今天,在使用cxf讀取內網數據庫的數據時,報以下一個錯誤Problem with writing the data, class java.util.ArrayList, ContentType: application/xml以上錯誤提示我們,在寫入數據時有錯誤,最後經檢查
Application.idle方法
hand txt using addm 監視 load sender start nbsp Application.Idle()方法表示:當應用程序處於空閑狀態時執行相應代碼。 示例程序 1、界面設計:一個簡單的Lable控件 2、代碼 using System; us
APP,Web Application(Web APP)等概念講解
webapp app 博文說明【前言】: 本文將通過個人口吻介紹APP,Web Application相關知識,在目前時間點【2017年5月14號】下,所掌握的技術水平有限,可能會存在不少知識理解不夠深入或全面,望大家指出問題共同交流,在後續工作及學習中如發現本文內容與實際情況有所偏差,將會完善
Android Studio: Application Installation Failed
ron log 技術分享 led blog androi eight span flow 【Android Studio: Application Installation Failed】 參考:http://stackoverflow.com/questions
webapi “ObjectContent`1”類型未能序列化內容類型“application/xml; charset=utf-8”的響應正文。
ted 分享 global format nbsp ica type .com 什麽 今天在來一發 webapi的一個知識點 相信用過webapi的對這個錯誤 已經看在眼裏 痛在心裏了把 我百度也搜了一下 看了一下 然後發現他們的解決辦法 並沒有什麽軟用
內置對象Application、ViewState
使用方法 文本框 對象 ica 循環 使用 strong 不停機 內置 Application: 全局公共變量組 存放位置:服務器 特點:所有訪問用戶都是訪問同一個變量,但只要服務器不停機,變量一直存在於服務器的內存中,不要使用循環大量的創建Applicatio
【2017-05-22】WebForm內置對象:Application和ViewState、Repeater的Command用法
操作數 傳值 rep 服務器 創建 bject bsp strong () 一、內置對象 1、Application 存貯在服務器端,占用服務器內存生命周期:永久 所有人訪問的都是這一個對象 傳值:傳的是object類型可以傳對象。 string s =TextBox1.T
struts2在action中獲取request、session、application,並傳遞數據
ride b2c 傳遞 sets content context 分享 https fcm 假設僅僅是通過request、session、application傳遞數據,則不須要獲取對應的對象也能夠傳遞數據,代碼例如以下: ScopeAction.java: packa
android自己定義Application全局變量不能類型轉換的問題
默認 .... 清單 font ng- context net until roi 今天弄了個全局變量AppContext ,但一直出現例如以下錯誤,原來繼承 Application的得在清單文件聲明。 java.lang.RuntimeException: Un
為什麽在App設計中,應該慎用左右橫滑設計?
諸多 image 朋友 nvi hone 也會 朋友圈 一個 指示 如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這裏 移動端屏幕越來越大,但用戶對內容量的要求也水漲船高。如何在有限的屏幕內透出更多的內容,是設計師們研究的重點。 常用的內容拓展設計有:Y 方向
慎用“360安全衛士”一鍵清理功能
word文檔 安全衛士 誤刪除 一鍵清理 軟件清理 一個同事的計算機安裝的Windows 10操作系統,C盤是100GB左右,現在磁盤空間已經占滿,求助於我。我刪除了一些無用軟件、將虛擬內存文件設置在D盤(如圖1所示)、使用Windows的"磁盤清理"功能之後(如圖2所示),只清理出了幾G
ASP.NET Web Application中使用鏈接文件
快速 構建 remove linked link lsp rep 增加 是我 最近重構一個內部的平臺系統,作為一個平臺,其下有幾個子系統,每個子系統有自己的網站系統。而每個網站使用的是統一的風格,統一的驗證機制,反饋系統,等等。所以,為了避免幾個子系統中重復出現相同的資源或