Bài giảng Lập trình hướng đối tượng: Chương 9 - ĐH Bách Khoa TP.HCM
Số trang: 14
Loại file: pdf
Dung lượng: 198.16 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Lập trình hướng đối tượng: Chương 9 - Lập trình song song bằng C# cung cấp cho các bạn những kiến thức về tổng quát lập trình song song, lập trình multi-process bằng class Process, lập trình multi-thread bằng class Thread, demo tính hiệu quả của multi-thread và một số kiến thức khác.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình hướng đối tượng: Chương 9 - ĐH Bách Khoa TP.HCM Chương 9 Lập trình song song bằng C# 9.0 Dẫn nhập 9.1 Tổng quát về lập trình song song 9.2 Lập trình multi-process bằng class Process 9.3 Lập trình multi-thread bằng class Thread 9.4 Demo tính hiệu quả của multi-thread 9.5 Demo vấn ₫ề tương tranh giữa các thread ₫ồng thời 9.6 Demo việc giải quyết tương tranh giữa các thread 9.7 Kết chương Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng Trường ĐH Bách Khoa Tp.HCM Chương 9 : Lập trình song song bằng VC# © 2010 Slide 19.0 Dẫn nhập Chương này giới thiệu các ₫ối tượng phục vụ ghi/₫ọc dữ liệu ra/vào file cùng các tác vụ ghi/₫ọc dữ liệu cổ ₫iển ra/vào file. Chương này cũng giới thiệu các ₫ối tượng phục vụ ghi/₫ọc hệ thống ₫ối tượng ra/vào file cùng các tác vụ ghi/₫ọc hệ thống ₫ối tượng có mối quan hệ tham khảo phức tạp ra/vào file. Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng Trường ĐH Bách Khoa Tp.HCM Chương 9 : Lập trình song song bằng VC# © 2010 Slide 29.1 Tổng quát về lập trình song song Thường ₫ể giải quyết bài toán nào ₫ó, ta thường dùng giải thuật tuần tự nhờ tính dễ hiểu, dễ kiểm soát của nó. Chương trình dùng thuật giải tuần tự khi chạy trở thành process mono-thread hay process tuần tự. Process tuần tự hoạt ₫ộng không hiệu quả vì không lợi dụng triệt ₫ể ₫ược các CPU xử lý trên máy tính vật lý. Lưu ý rằng hiện nay các máy PC, smartphone hay tablet ₫ều dùng CPU ₫a nhân. Thí dụ galaxy S4 ở thị trường Việt Nam có 8 nhân. Để máy giải quyết bài toán hiệu quả hơn, ta nên dùng thuật toán song song bằng cách nhận dạng các hoạt ₫ộng có thể thực hiện ₫ồng thời rồi nhờ nhiều CPU thực hiện chúng ₫ồng thời. Một trong các phương pháp hiện thực thuật toán song song là lập trình multi-process và multi-thread. Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng Trường ĐH Bách Khoa Tp.HCM Chương 9 : Lập trình song song bằng VC# © 2010 Slide 39.2 Lập trình multi-process bằng class Process Môi trường .Net cung cấp class tên là Process ₫ể giúp ta lập trình multi-process dễ dàng. Class Process thuộc namespace System.Diagnostics, nó chứa các thuộc tính và tác vụ giúp ta quản lý process dễ dàng, thuận lợi. Thí dụ thuộc tính StartInfo là 1 ₫ối tượng gồm nhiều thuộc tính xác ₫ịnh thông tin ₫ể kích hoạt ứng dụng xác ₫ịnh : Process myProcess = new Process(); myProcess.StartInfo.UseShellExecute = false; myProcess.StartInfo.FileName = txtPath.Text; myProcess.StartInfo.CreateNoWindow = true; …. Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng Trường ĐH Bách Khoa Tp.HCM Chương 9 : Lập trình song song bằng VC# © 2010 Slide 49.2 Lập trình multi-process bằng class Process Sau khi thiết lập ₫ầy ₫ủ các thông tin ₫ể khởi tạo process, ta có thể gọi tác vụ Start ₫ể kích hoạt nó chạy : myProcess.Start(); Sau khi ₫ược kích hoạt, process sẽ chạy song hành và ₫ộc lập với process kích hoạt nó cho ₫ến khi kết thúc theo thuật giải của nó. Tuy nhiên, từ bên ngoài ta có thể giết process nhờ tác vụ Kill : myProcess.Kill(); Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng Trường ĐH Bách Khoa Tp.HCM Chương 9 : Lập trình song song bằng VC# © 2010 Slide 59.2 Lập trình multi-process bằng class Process Ta hãy thử viết 1 ứng dụng quản lý process ₫ơn giản có form giao diện như sau : Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng Trường ĐH Bách Khoa Tp.HCM Chương 9 : Lập trình song song bằng VC# © 2010 Slide 69.3 Lập trình multi-threads bằng class Thread Môi trường .Net cung cấp class tên là Thread ₫ể giúp ta lập trình multi-thread dễ dàng. Class Thread thuộc namespace System.Threading, nó chứa các thuộc tính và tác vụ giúp ta quản lý thread dễ dàng, thuận lợi. Thường mỗi thread sẽ chạy ₫oạn code ₫ược miêu tả trong 1 hàm chức năng xác ₫ịnh. Thí dụ khi process ₫ược kích hoạt, HĐH sẽ tạo tường minh thread ban ₫ấu cho process ₫ó ...
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình hướng đối tượng: Chương 9 - ĐH Bách Khoa TP.HCM Chương 9 Lập trình song song bằng C# 9.0 Dẫn nhập 9.1 Tổng quát về lập trình song song 9.2 Lập trình multi-process bằng class Process 9.3 Lập trình multi-thread bằng class Thread 9.4 Demo tính hiệu quả của multi-thread 9.5 Demo vấn ₫ề tương tranh giữa các thread ₫ồng thời 9.6 Demo việc giải quyết tương tranh giữa các thread 9.7 Kết chương Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng Trường ĐH Bách Khoa Tp.HCM Chương 9 : Lập trình song song bằng VC# © 2010 Slide 19.0 Dẫn nhập Chương này giới thiệu các ₫ối tượng phục vụ ghi/₫ọc dữ liệu ra/vào file cùng các tác vụ ghi/₫ọc dữ liệu cổ ₫iển ra/vào file. Chương này cũng giới thiệu các ₫ối tượng phục vụ ghi/₫ọc hệ thống ₫ối tượng ra/vào file cùng các tác vụ ghi/₫ọc hệ thống ₫ối tượng có mối quan hệ tham khảo phức tạp ra/vào file. Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng Trường ĐH Bách Khoa Tp.HCM Chương 9 : Lập trình song song bằng VC# © 2010 Slide 29.1 Tổng quát về lập trình song song Thường ₫ể giải quyết bài toán nào ₫ó, ta thường dùng giải thuật tuần tự nhờ tính dễ hiểu, dễ kiểm soát của nó. Chương trình dùng thuật giải tuần tự khi chạy trở thành process mono-thread hay process tuần tự. Process tuần tự hoạt ₫ộng không hiệu quả vì không lợi dụng triệt ₫ể ₫ược các CPU xử lý trên máy tính vật lý. Lưu ý rằng hiện nay các máy PC, smartphone hay tablet ₫ều dùng CPU ₫a nhân. Thí dụ galaxy S4 ở thị trường Việt Nam có 8 nhân. Để máy giải quyết bài toán hiệu quả hơn, ta nên dùng thuật toán song song bằng cách nhận dạng các hoạt ₫ộng có thể thực hiện ₫ồng thời rồi nhờ nhiều CPU thực hiện chúng ₫ồng thời. Một trong các phương pháp hiện thực thuật toán song song là lập trình multi-process và multi-thread. Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng Trường ĐH Bách Khoa Tp.HCM Chương 9 : Lập trình song song bằng VC# © 2010 Slide 39.2 Lập trình multi-process bằng class Process Môi trường .Net cung cấp class tên là Process ₫ể giúp ta lập trình multi-process dễ dàng. Class Process thuộc namespace System.Diagnostics, nó chứa các thuộc tính và tác vụ giúp ta quản lý process dễ dàng, thuận lợi. Thí dụ thuộc tính StartInfo là 1 ₫ối tượng gồm nhiều thuộc tính xác ₫ịnh thông tin ₫ể kích hoạt ứng dụng xác ₫ịnh : Process myProcess = new Process(); myProcess.StartInfo.UseShellExecute = false; myProcess.StartInfo.FileName = txtPath.Text; myProcess.StartInfo.CreateNoWindow = true; …. Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng Trường ĐH Bách Khoa Tp.HCM Chương 9 : Lập trình song song bằng VC# © 2010 Slide 49.2 Lập trình multi-process bằng class Process Sau khi thiết lập ₫ầy ₫ủ các thông tin ₫ể khởi tạo process, ta có thể gọi tác vụ Start ₫ể kích hoạt nó chạy : myProcess.Start(); Sau khi ₫ược kích hoạt, process sẽ chạy song hành và ₫ộc lập với process kích hoạt nó cho ₫ến khi kết thúc theo thuật giải của nó. Tuy nhiên, từ bên ngoài ta có thể giết process nhờ tác vụ Kill : myProcess.Kill(); Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng Trường ĐH Bách Khoa Tp.HCM Chương 9 : Lập trình song song bằng VC# © 2010 Slide 59.2 Lập trình multi-process bằng class Process Ta hãy thử viết 1 ứng dụng quản lý process ₫ơn giản có form giao diện như sau : Khoa Khoa học & Kỹ thuật Máy tính Môn : Lập trình hướng ₫ối tượng Trường ĐH Bách Khoa Tp.HCM Chương 9 : Lập trình song song bằng VC# © 2010 Slide 69.3 Lập trình multi-threads bằng class Thread Môi trường .Net cung cấp class tên là Thread ₫ể giúp ta lập trình multi-thread dễ dàng. Class Thread thuộc namespace System.Threading, nó chứa các thuộc tính và tác vụ giúp ta quản lý thread dễ dàng, thuận lợi. Thường mỗi thread sẽ chạy ₫oạn code ₫ược miêu tả trong 1 hàm chức năng xác ₫ịnh. Thí dụ khi process ₫ược kích hoạt, HĐH sẽ tạo tường minh thread ban ₫ấu cho process ₫ó ...
Tìm kiếm theo từ khóa liên quan:
Lập trình hướng đối tượng Bài giảng Lập trình hướng đối tượng Lập trình song song bằng C# Lập trình song song Lập trình multi-process bằng class Process Lập trình multi-thread bằng class ThreadGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 269 0 0 -
101 trang 199 1 0
-
14 trang 133 0 0
-
Giáo trình lập trình hướng đối tượng - Lê Thị Mỹ Hạnh ĐH Đà Nẵng
165 trang 112 0 0 -
Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh
111 trang 95 0 0 -
Giáo trình Lập trình Windows 1 - Trường CĐN Đà Lạt
117 trang 95 0 0 -
265 trang 76 0 0
-
Giáo trình Lập trình hướng đối tượng với Java: Phần 2 - Trần Thị Minh Châu, Nguyễn Việt Hà
141 trang 74 0 0 -
33 trang 66 0 0
-
Ngôn ngữ lập trình C# 2005 - Tập 3: Lập trình hướng đối tượng (Phần 1)
196 trang 51 0 0