使用线程,防止当前程序被阻塞
在編寫Windows Form程序時有時需要編寫一個處理大事件的函數(shù),這導(dǎo)致了程序的運行時間變得很長,這時問題就出現(xiàn)了,當(dāng)程序沒有處理完畢之前當(dāng)前窗體被鎖死了,而且用戶如果此時點擊窗體的其他部分,便會出現(xiàn)沒有響應(yīng)的標(biāo)識,這時用戶就會以為程序死了,而去關(guān)閉程序,如果我們沒有對這種操作作相應(yīng)的處理,很容易導(dǎo)致數(shù)據(jù)出現(xiàn)錯誤。這時我們可以采用另開一個線程的方法來處理時間比較長的程序,這樣當(dāng)前窗體就不會被鎖死,預(yù)估計一下處理時間需要的時間,然后還可以根據(jù)這個時間做一個進度條的顯示,讓用戶了解到程序處理的進度,就會給用戶一個很良好的感覺。
下面是一個另開線程的小例子,并有進度條顯示。
我們用到了System.Threading命名空間中的Thread類來創(chuàng)建一個線程對象,然后將線程的ThreadStart方法代理重新指向到我們要處理的函數(shù)即可,然后用它的IsBackground屬性將其設(shè)置為后臺線程,防止被用戶誤操作而被殺掉,然后調(diào)用Thread對象的Start來啟動這個線程即可。
??? 使用線程的小例子
轉(zhuǎn)載于:https://www.cnblogs.com/Bear-Study-Hard/archive/2006/04/14/374957.html
總結(jié)
以上是生活随笔為你收集整理的使用线程,防止当前程序被阻塞的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 刚接触git,提交文件时,遇到no ch
- 下一篇: android-api28转换到api1