Share Hướng Dẫn Sử Dụng BackgroundWorker Trong VB.NET

huuthien287

New member
..

Lớp Backgroundworker trong VB.NET là một lớp trợ giúp cho phép bạn thực hiện các nhiệm vụ chạy dài không đồng bộ.Điều này có nghĩa là chủ đề chính của ứng dụng của bạn có thể tiếp tục thực hiện các công việc khác trong khi lớp BackidentWorker xử lý nhiệm vụ chạy dài.

Để sử dụng lớp Backgroundworker, trước tiên bạn cần tạo một thể hiện của lớp.Bạn có thể làm điều này bằng cách gọi hàm xây dựng sau:

`` `
Dim BW là người làm nền mới ()
`` `

Khi bạn đã tạo một thể hiện của lớp Backgroundworker, bạn có thể bắt đầu nhiệm vụ chạy dài bằng cách gọi phương thức StartWorkerAsync.Phương thức này lấy một đại biểu làm tham số.Đại biểu chỉ định mã sẽ được thực thi bởi lớp BackgroundWorker.

Ví dụ: mã sau bắt đầu một nhiệm vụ dài hạn in các số từ 1 đến 100 đến bảng điều khiển:

`` `
bw.startworkerasync (sub ()
Vì tôi là số nguyên = 1 đến 100
Console.WriteLine (i)
Kế tiếp
Kết thúc phụ)
`` `

Lớp BackidentWorker sẽ thực thi mã trong đại biểu trong một luồng riêng.Điều này có nghĩa là chuỗi chính của ứng dụng của bạn có thể tiếp tục thực hiện các công việc khác trong khi nhiệm vụ chạy dài đang được thực hiện.

Khi nhiệm vụ chạy dài kết thúc, lớp BackidentWorker sẽ gọi sự kiện RunWorkerCompleted.Bạn có thể xử lý sự kiện này bằng cách ghi đè phương thức OnrunWorkerCompleted trong mã của bạn.Phương thức OnrunWorkerCompleted có hai tham số:

* Tham số đầu tiên là kết quả của nhiệm vụ chạy dài.
* Tham số thứ hai là một ngoại lệ đã được ném trong quá trình thực hiện nhiệm vụ chạy dài.

Ví dụ: mã sau đây xử lý sự kiện RunWorkerCompleted bằng cách in kết quả của nhiệm vụ chạy dài đến bảng điều khiển:

`` `
Private Sub bw_runworkerCompleted (người gửi là đối tượng, e như RunworkerCompletedEventArgs)
Nếu E.Error không có gì thì
Console.WriteLine ("Nhiệm vụ chạy dài đã hoàn thành thành công.")
Khác
Console.WriteLine ("Nhiệm vụ chạy dài không thành công với lỗi sau:" & E.Error.Message)
Kết thúc nếu
Kết thúc phụ
`` `

Lớp Backgroundworker là một công cụ mạnh mẽ có thể được sử dụng để thực hiện các nhiệm vụ chạy dài một cách không đồng bộ.Bằng cách sử dụng lớp Backgroundworker, bạn có thể cải thiện khả năng phản hồi của ứng dụng của mình bằng cách cho phép luồng chính tiếp tục thực hiện công việc khác trong khi nhiệm vụ chạy dài đang được thực hiện.
=======================================
#backgroundworker #vb.net #MultithReading #asynchronous Programming #Concurrency ## Instructions for using BackgroundWorker in VB.NET

The BackgroundWorker class in VB.NET is a helper class that allows you to perform long-running tasks asynchronously. This means that the main thread of your application can continue to do other work while the BackgroundWorker class handles the long-running task.

To use the BackgroundWorker class, you first need to create an instance of the class. You can do this by calling the following constructor:

```
Dim bw As New BackgroundWorker()
```

Once you have created an instance of the BackgroundWorker class, you can start the long-running task by calling the StartWorkerAsync method. This method takes a delegate as a parameter. The delegate specifies the code that will be executed by the BackgroundWorker class.

For example, the following code starts a long-running task that prints the numbers from 1 to 100 to the console:

```
bw.StartWorkerAsync(Sub()
For i As Integer = 1 To 100
Console.WriteLine(i)
Next
End Sub)
```

The BackgroundWorker class will execute the code in the delegate in a separate thread. This means that the main thread of your application can continue to do other work while the long-running task is being executed.

When the long-running task is finished, the BackgroundWorker class will call the RunWorkerCompleted event. You can handle this event by overriding the OnRunWorkerCompleted method in your code. The OnRunWorkerCompleted method takes two parameters:

* The first parameter is the result of the long-running task.
* The second parameter is an exception that was thrown during the execution of the long-running task.

For example, the following code handles the RunWorkerCompleted event by printing the result of the long-running task to the console:

```
Private Sub bw_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs)
If e.Error Is Nothing Then
Console.WriteLine("The long-running task finished successfully.")
Else
Console.WriteLine("The long-running task failed with the following error: " & e.Error.Message)
End If
End Sub
```

The BackgroundWorker class is a powerful tool that can be used to perform long-running tasks asynchronously. By using the BackgroundWorker class, you can improve the responsiveness of your application by allowing the main thread to continue to do other work while the long-running task is being executed.
 
Join Telegram ToolsKiemTrieuDoGroup
Back
Top