tailieunhanh - Các giải pháp lập trình CSharp- P13
Các giải pháp lập trình CSharp- P13: Các giải pháp lập trình C# khảo sát chiều rộng của thư viện lớp .NET Framework và cung cấp giải pháp cụ thể cho các vấn đề thường gặp. Mỗi giải pháp được trình bày theo dạng “vấn đề/giải pháp” một cách ngắn gọn và kèm theo là các ví dụ mẫu. | 121 Chương 4 Tiểu trình tiến trình và sự đồng bộ 2. Thực thi phương thức một cách hất đồng hộ 1 Bạn cần thực thi một phương thức và tiếp tục thực hiện các công việc khác trong khi phương thức này vẫn chạy trong một tiểu trình riêng biệt. Sau khi phương thức đã hoàn tất bạn cần lấy trị trả về của nó. Khai báo một ủy nhiệm có chữ ký giống như phương thức cần thực thi. Sau đó tạo một thể hiện của ủy nhiệm tham chiếu đến phương thức này. Tiếp theo gọi phương thức Begininvoke của thể hiện ủy nhiệm để thực thi phương thức của bạn. Kế đến sử dụng phương thức Endinvoke để kiểm tra trạng thái của phương thức cũng như thu lấy trị trả về của nó nếu đã hoàn tất. Khi cho gọi một phương thức chúng ta thường thực hiện một cách đồng bộ nghĩa là mã lệnh thực hiện lời gọi phải đi vào trạng thái dừng block cho đến khi phương thức được thực hiện xong. Đây là cách cần thiết khi mã lệnh yêu cầu quá trình thực thi phương thức phải hoàn tất trước khi nó có thể tiếp tục. Tuy nhiên trong một số trường hợp bạn lại cần thực thi phương thức một cách bất đồng bộ nghĩa là bạn cho thực thi phương thức này trong một tiểu trình riêng trong khi vẫn tiếp tục thực hiện các công việc khác. .NET Framework hỗ trợ chế độ thực thi bất đồng bộ cho phép bạn thực thi bất kỳ phương thức nào một cách bất đồng bộ bằng một ủy nhiệm. Khi khai báo và biên dịch một ủy nhiệm trình biên dịch sẽ tự động sinh ra hai phương thức hỗ trợ chế độ thực thi bất đồng bộ BeginInvoke và EndInvoke. Khi bạn gọi phương thức BeginInvoke của một thể hiện ủy nhiệm phương thức được tham chiếu bởi ủy nhiệm này được xếp vào hàng đợi để thực thi bất đồng bộ. Quyền kiểm soát quá trình thực thi được trả về cho mã gọi Begininvoke ngay sau đó và phương thức được tham chiếu sẽ thực thi trong ngữ cảnh của tiểu trình sẵn sàng trước tiên trong thread-pool. Các đối số của phương thức Begininvoke gồm các đối số được chỉ định bởi ủy nhiệm cộng với hai đối số dùng khi phương thức thực thi bất đồng bộ kết thúc. Hai đối số này là Một thể hiện của ủy .
đang nạp các trang xem trước