Các giải pháp lập trình C Sharp_3
Số trang: 53
Loại file: pdf
Dung lượng: 688.79 KB
Lượt xem: 11
Lượt tải: 0
Xem trước 6 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo tài liệu các giải pháp lập trình c sharp_3, công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Các giải pháp lập trình C Sharp_3106Chương 4: Ti u trình, ti n trình, và s ng b 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 // thì i vào tr ng thái ch trong 300 mini-giây // trư c khi th c hi n polling l n n a. Console.WriteLine({0} : Poll repeatedly until method is + complete..., DateTime.Now.ToString(HH:mm:ss.ffff)); while(!asyncResult.IsCompleted) { Console.WriteLine({0} : Polling..., DateTime.Now.ToString(HH:mm:ss.ffff)); Thread.Sleep(300); } // Thu l y k t qu c a phương th c th c thi b t ng b . DateTime completion = longRunningMethod.EndInvoke(asyncResult); // Hi n th thông tin k t thúc. Console.WriteLine({0} : Polling example complete., completion.ToString(HH:mm:ss.ffff)); } 3. Phương th c WaitingExample Phương th c WaitingExample th c thi b t ng b phương th c LongRunningExample và sau ó ch cho n khi LongRunningMethod k t thúc. WaitingExample s d ng thu c tính AsyncWaitHandle c a th hi n IAsyncResult ( ư c tr v b i BeginInvoke) có ư c m t WaitHandle và sau ó g i phương th c WaitOne c a WaitHandle. Vi c s d ng giá tr time-out cho phép WaitingExample d ng quá trình i th c hi n công vi c khác ho c d ng hoàn toàn n u phương th c th c thi b t ng b di n ra quá lâu. public static void WaitingExample() { Console.WriteLine(Environment.NewLine + *** Running Waiting 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, Waiting, null, null); // i phương th c th c thi b t ng b k t thúc. // Time-out sau 300 mili-giây và hi n th tr ng thái ra // c a s Console trư c khi ti p t c i. 107 Chương 4: Ti u trình, ti n trình, và s ng b Console.WriteLine({0} : Waiting until method is complete..., DateTime.Now.ToString(HH:mm:ss.ffff)); while(!asyncResult.AsyncWaitHandle.WaitOne(300, false)) { Console.WriteLine({0} : Wait timeout..., DateTime.Now.ToString(HH:mm:ss.ffff)); } // Thu l y k t qu c a phương th c th c thi b t ng b . DateTime completion = longRunningMethod.EndInvoke(asyncResult); // Hi n th thông tin k t thúc. Console.WriteLine({0} : Waiting example complete., completion.ToString(HH:mm:ss.ffff)); }4. Phương th c WaitAllExample Phương th c WaitAllExample th c thi b t ng b phương th c LongRunningMethod nhi u l n và sau ó s d ng m ng các i tư ng WaitHandle i cho n khi t t c các phương th c k t thúc. public static void WaitAllExample() { Console.WriteLine(Environment.NewLine + *** Running WaitAll Example ***); // M t ArrayList ch a các th hi n IAsyncResult // cho các phương th c th c thi b t ng b . ArrayList asyncResults = new ArrayList(3); // G i ba l n 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 . Thêm th hi n IAsyncResult // cho m i phương th c vào ArrayList. AsyncExampleDelegate longRunningMethod = new AsyncExampleDelegate(LongRunningMethod); asyncResults.Add(longRunningMethod.BeginInvoke(3000, WaitAll 1, null, null)); asyncResults.Add(longRunningMethod.BeginInvoke(2500, WaitAll 2, null, null)); asyncResults.Add(longRunningMethod.BeginInvoke(1500, WaitAll 3, null, null)); // T o m t m ng các i tư ng WaitHandle, // s ư c s d ng i t t c các phương th c // th c thi b t ng b k t thúc. WaitHandle[] waitHandles = new WaitHandle[3]; for (int count = 0; count < 3; count++) { ...
Nội dung trích xuất từ tài liệu:
Các giải pháp lập trình C Sharp_3106Chương 4: Ti u trình, ti n trình, và s ng b 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 // thì i vào tr ng thái ch trong 300 mini-giây // trư c khi th c hi n polling l n n a. Console.WriteLine({0} : Poll repeatedly until method is + complete..., DateTime.Now.ToString(HH:mm:ss.ffff)); while(!asyncResult.IsCompleted) { Console.WriteLine({0} : Polling..., DateTime.Now.ToString(HH:mm:ss.ffff)); Thread.Sleep(300); } // Thu l y k t qu c a phương th c th c thi b t ng b . DateTime completion = longRunningMethod.EndInvoke(asyncResult); // Hi n th thông tin k t thúc. Console.WriteLine({0} : Polling example complete., completion.ToString(HH:mm:ss.ffff)); } 3. Phương th c WaitingExample Phương th c WaitingExample th c thi b t ng b phương th c LongRunningExample và sau ó ch cho n khi LongRunningMethod k t thúc. WaitingExample s d ng thu c tính AsyncWaitHandle c a th hi n IAsyncResult ( ư c tr v b i BeginInvoke) có ư c m t WaitHandle và sau ó g i phương th c WaitOne c a WaitHandle. Vi c s d ng giá tr time-out cho phép WaitingExample d ng quá trình i th c hi n công vi c khác ho c d ng hoàn toàn n u phương th c th c thi b t ng b di n ra quá lâu. public static void WaitingExample() { Console.WriteLine(Environment.NewLine + *** Running Waiting 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, Waiting, null, null); // i phương th c th c thi b t ng b k t thúc. // Time-out sau 300 mili-giây và hi n th tr ng thái ra // c a s Console trư c khi ti p t c i. 107 Chương 4: Ti u trình, ti n trình, và s ng b Console.WriteLine({0} : Waiting until method is complete..., DateTime.Now.ToString(HH:mm:ss.ffff)); while(!asyncResult.AsyncWaitHandle.WaitOne(300, false)) { Console.WriteLine({0} : Wait timeout..., DateTime.Now.ToString(HH:mm:ss.ffff)); } // Thu l y k t qu c a phương th c th c thi b t ng b . DateTime completion = longRunningMethod.EndInvoke(asyncResult); // Hi n th thông tin k t thúc. Console.WriteLine({0} : Waiting example complete., completion.ToString(HH:mm:ss.ffff)); }4. Phương th c WaitAllExample Phương th c WaitAllExample th c thi b t ng b phương th c LongRunningMethod nhi u l n và sau ó s d ng m ng các i tư ng WaitHandle i cho n khi t t c các phương th c k t thúc. public static void WaitAllExample() { Console.WriteLine(Environment.NewLine + *** Running WaitAll Example ***); // M t ArrayList ch a các th hi n IAsyncResult // cho các phương th c th c thi b t ng b . ArrayList asyncResults = new ArrayList(3); // G i ba l n 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 . Thêm th hi n IAsyncResult // cho m i phương th c vào ArrayList. AsyncExampleDelegate longRunningMethod = new AsyncExampleDelegate(LongRunningMethod); asyncResults.Add(longRunningMethod.BeginInvoke(3000, WaitAll 1, null, null)); asyncResults.Add(longRunningMethod.BeginInvoke(2500, WaitAll 2, null, null)); asyncResults.Add(longRunningMethod.BeginInvoke(1500, WaitAll 3, null, null)); // T o m t m ng các i tư ng WaitHandle, // s ư c s d ng i t t c các phương th c // th c thi b t ng b k t thúc. WaitHandle[] waitHandles = new WaitHandle[3]; for (int count = 0; count < 3; count++) { ...
Tìm kiếm theo từ khóa liên quan:
thủ thuật máy tính tài liệu công nghệ thông tin lập trình máy tính mẹo máy tính cài đặt máy tínhGợi ý tài liệu liên quan:
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 317 0 0 -
Làm việc với Read Only Domain Controllers
20 trang 305 0 0 -
Thêm chức năng hữu dụng cho menu chuột phải trên Windows
4 trang 290 0 0 -
70 trang 251 1 0
-
Bài giảng Tin học lớp 11 bài 1: Giới thiệu ngôn ngữ lập trình C#
15 trang 238 0 0 -
Tổng hợp lỗi Win 8 và cách sửa
3 trang 234 0 0 -
Sửa lỗi các chức năng quan trọng của Win với ReEnable 2.0 Portable Edition
5 trang 214 0 0 -
Giáo trình Bảo trì hệ thống và cài đặt phần mềm
68 trang 208 0 0 -
Tổng hợp 30 lỗi thương gặp cho những bạn mới sử dụng máy tính
9 trang 205 0 0 -
Phần III: Xử lý sự cố Màn hình xanh
3 trang 204 0 0