CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 124

124
Chương 4: Tiểu trình, tiến trình, và sự đồng bộ

DateTime.Now.ToString("HH:mm:ss.ffff"));

Thread.Sleep(200);

}

// Đi vào trạng thái dừng cho đến khi phương thức

// thực thi bất đồng bộ kết thúc và thu lấy kết quả.

Console.WriteLine("{0} : Blocking until method is " +

"complete...", DateTime.Now.ToString("HH:mm:ss.ffff"));

DateTime completion =

longRunningMethod.EndInvoke(asyncResult);

// Hiển thị thông tin kết thúc.

Console.WriteLine("{0} : Blocking example complete.",

completion.ToString("HH:mm:ss.ffff"));

}

2.

Phương thức

PollingExample

Phương thức

PollingExample

thực thi bất đồng bộ phương thức

LongRunningMethod

sau đó thực hiện vòng lặp polling cho đến khi

LongRunningMethod

kết thúc.

PollingExample

kiểm tra thuộc tính

IsComplete

của thể hiện

IAsyncResult

(được trả về

bởi

BeginInvoke

) để xác định phương thức

LongRunningMethod

đã kết thúc hay chưa,

nếu chưa,

PollingExample

sẽ gọi

Thread.Sleep

.

public static void PollingExample() {

Console.WriteLine(Environment.NewLine +

"*** Running Polling Example ***");

// Gọi LongRunningMethod một cách bất đồng bộ. Truyền null cho

// cả ủy nhiệm callback và đối tượng trạng thái bất đồng bộ.

AsyncExampleDelegate longRunningMethod =

new AsyncExampleDelegate(LongRunningMethod);

IAsyncResult asyncResult = longRunningMethod.BeginInvoke(2000,

"Polling", null, null);

// Thực hiện polling để kiểm tra phương thức thực thi

// bất đồng bộ kết thúc hay chưa. Nếu chưa kết thúc

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.