Trong ứng dụng của mình, tôi cần thực hiện một loạt các bước khởi tạo, những bước này mất 7-8 giây để hoàn thành trong đó UI của tôi không phản hồi. Để giải quyết vấn đề này, tôi thực hiện khởi tạo trong một luồng riêng biệt:
public void Initialization()
{
Thread initThread = new Thread(new ThreadStart(InitializationThread));
initThread.Start();
}
public void InitializationThread()
{
outputMessage("Initializing...");
//DO INITIALIZATION
outputMessage("Initialization Complete");
}
Tôi đã đọc một vài bài viết về BackgroundWorker
và cách nó cho phép tôi giữ cho ứng dụng của mình phản ứng nhanh mà không cần phải viết một luồng để thực hiện các tác vụ dài nhưng tôi chưa có thành công nào khi thử thực hiện nó, bất cứ ai cũng có thể biết tôi sẽ làm như thế nào này bằng cách sử dụng BackgroundWorker
?