C 為什麼使用了多執行緒介面假死?

2021-09-06 04:07:52 字數 1189 閱讀 5700

這裡貼出兩個專案(已經測試)。

先貼不正確的多執行緒

設計如圖:

引入命名空間:

using system.threading;
完整**:

namespace threadtest1

private void btn_start_click(object sender, eventargs e)

///threadstart委託

private delegate void threadstartdelegate();

/// /// 向文字框追加內容

///

private void threadstart()

while (true)

}private void btn_exit_click(object sender, eventargs e)}}

試想以上**,當執行緒呼叫後,這個執行緒就會一直在threadstart裡面跑 這個方法也未完全執行完成過(既介面不會更新),然而達到假死。

為了介面不假死達到多執行緒目的。就應該再增加乙個方法專門來操作這個threadstart方法,讓這個方法不停的執行。

下面是正確的**區別:

設計如圖:

引入命名空間:

using system.threading;
完整**:

namespace threadtest2

private void btn_start_click(object sender, eventargs e)

/// /// 多執行緒執行指定方法

///

private void threadmethod()

}private delegate void threadstartdelegate();

/// /// 執行緒方法

///

private void threadstart()

else

}private void btn_exit_click(object sender, eventargs e)}}

這個使用方法就正確了,最大的區別在於會一次一次的完整執行threadstart這個方法。而不是一直停留在裡面執行。即可達到介面的重新整理作用。

為什麼使用多執行緒

1 耗時的操作使用執行緒,提高應用程式響應 2 並行操作時使用執行緒,如c s架構的伺服器端併發執行緒響應使用者的請求。3 多cpu系統中,使用執行緒提高cpu利用率 4 改善程式結構。乙個既長又複雜的程序可以考慮分為多個執行緒,成為幾個獨立或半獨 立的執行部分,這樣的程式會利於理解和修改。使用多執...

為什麼要使用多執行緒

一 多執行緒的一些解釋 來至知乎 我覺得解釋的比較好,比較詳細,就給大家分享一下 1 單程序單執行緒 乙個人在一張桌子上吃菜 2 單程序多執行緒 多個人在同一張桌子上吃菜 3 多程序單執行緒 多個人每個人在自己的桌子上吃菜 多執行緒的問題就是多個人在同一張桌子上吃同一道菜時會發生爭搶,如果兩個人同時...

為什麼使用多執行緒 非同步操作

c 是一門支援多執行緒的語言,因此執行緒的使用也是比較常見的。由於執行緒的知識在win32程式設計的時候已經說得過多,所以在.net中很少介紹這部分 可能.net不覺得這部分是它所特有的 那麼執行緒相關的問題大致有如下四類 這篇文章只討論單執行緒 單執行緒與 ui執行緒這兩方面的問題 問題一,執行緒...