簡體   English   中英

使用線程時UI無響應

[英]UI not responsive when using Thread

我使用Thread啟動兩個函數AllCase並並行運行它們。

Thread t1, t2;
t1 = new Thread(new ThreadStart(AllCase))
{
    Name = "Thread1"
};
t1.Start();

t2 = new Thread(new ThreadStart(AllCase))
{
    Name = "Thread2"
};
t2.Start();
t1.Join();
t2.Join();

Thread啟動時,我無法與應用程序的UI進行交互。

我使用BackgroundWorker閱讀。

但是我想讓Name = "Thread1"可以使用,像這樣:

int idx = int.Parse(Thread.CurrentThread.Name.Replace("Thread", "")) - 1;

idx知道這個過程[IDX]易操縱。

在我的情況下, BackgroundWorker無法正常工作。

那么,有什么方法可以解決我的問題?

刪除以下兩行:

t1.Join();
t2.Join();

並且您的GUI應該再次響應。 當然,除非您必須等待方法按此順序完成,否則您實際上並不需要使用線程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM