Danh mục

Bài giảng môn Lập trình hướng đối tượng: Chương 9 - TS. Nguyễn Văn Hiệp

Số trang: 28      Loại file: pdf      Dung lượng: 543.65 KB      Lượt xem: 7      Lượt tải: 0    
Thư viện của tui

Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng cung cấp cho người học các kiến thức: Tổng quát về 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, demo vấn đề tương tranh giữa các thread đồng thời, demo việc giải quyết tương tranh giữa các thread.
Nội dung trích xuất từ tài liệu:
Bài giảng môn Lập trình hướng đối tượng: Chương 9 - TS. Nguyễn Văn HiệpChương 9Lập trình song song bằng C#9.0 Dẫn nhập9.1 Tổng quát về lập trình song song9.2 Lập trình multi-process bằng class Process9.3 Lập trình multi-thread bằng class Thread9.4 Demo tính hiệu quả của multi-thread9.5 Demo vấn ₫ề tương tranh giữa các thread ₫ồng thời9.6 Demo việc giải quyết tương tranh giữa các thread9.7 Kết chươngKhoa Khoa học & Kỹ thuật Máy tínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Lập trình hướng ₫ối tượngChương 9 : Lập trình song song bằng VC#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ệura/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 ₫ốitượ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ínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Lập trình hướng ₫ối tượngChương 9 : Lập trình song song bằng VC#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ậttuần tự nhờ tính dễ hiểu, dễ kiểm soát của nó. Chương trình dùngthuật giải tuần tự khi chạy trở thành process mono-thread hayprocess 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ácmá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ánsong 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ậptrình multi-process và multi-thread.Khoa Khoa học & Kỹ thuật Máy tínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Lập trình hướng ₫ối tượngChương 9 : Lập trình song song bằng VC#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ìnhmulti-process dễ dàng.Class Process thuộc namespace System.Diagnostics, nó chứa cácthuộ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ínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Lập trình hướng ₫ối tượngChương 9 : Lập trình song song bằng VC#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ớiprocess 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ínhTrường ĐH Bách Khoa Tp.HCM© 2010Môn : Lập trình hướng ₫ối tượngChương 9 : Lập trình song song bằng VC#Slide 5

Tài liệu được xem nhiều: