intTypePromotion=1
ADSENSE

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

Chia sẻ: N N | Ngày: | Loại File: PDF | Số trang:28

28
lượt xem
2
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: 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

Chương 9<br /> <br /> Lập trình song song bằng C#<br /> 9.0 Dẫn nhập<br /> 9.1 Tổng quát về lập trình song song<br /> 9.2 Lập trình multi-process bằng class Process<br /> 9.3 Lập trình multi-thread bằng class Thread<br /> 9.4 Demo tính hiệu quả của multi-thread<br /> 9.5 Demo vấn ₫ề tương tranh giữa các thread ₫ồng thời<br /> 9.6 Demo việc giải quyết tương tranh giữa các thread<br /> 9.7 Kết chương<br /> <br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2010<br /> <br /> Môn : Lập trình hướng ₫ối tượng<br /> Chương 9 : Lập trình song song bằng VC#<br /> Slide 1<br /> <br /> 9.0 Dẫn nhập<br /> <br /> <br /> <br /> Chương này giới thiệu các ₫ối tượng phục vụ ghi/₫ọc dữ liệu<br /> ra/vào file cùng các tác vụ ghi/₫ọc dữ liệu cổ ₫iển ra/vào file.<br /> Chương này cũng giới thiệu các ₫ối tượng phục vụ ghi/₫ọc hệ<br /> thống ₫ối tượng ra/vào file cùng các tác vụ ghi/₫ọc hệ thống ₫ối<br /> tượng có mối quan hệ tham khảo phức tạp ra/vào file.<br /> <br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2010<br /> <br /> Môn : Lập trình hướng ₫ối tượng<br /> Chương 9 : Lập trình song song bằng VC#<br /> Slide 2<br /> <br /> 9.1 Tổng quát về lập trình song song<br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> Thường ₫ể giải quyết bài toán nào ₫ó, ta thường dùng giải thuật<br /> tuần tự nhờ tính dễ hiểu, dễ kiểm soát của nó. Chương trình dùng<br /> thuật giải tuần tự khi chạy trở thành process mono-thread hay<br /> process tuần tự.<br /> Process tuần tự hoạt ₫ộng không hiệu quả vì không lợi dụng triệt<br /> ₫ể ₫ược các CPU xử lý trên máy tính vật lý. Lưu ý rằng hiện nay các<br /> máy PC, smartphone hay tablet ₫ều dùng CPU ₫a nhân. Thí dụ<br /> galaxy S4 ở thị trường Việt Nam có 8 nhân.<br /> Để máy giải quyết bài toán hiệu quả hơn, ta nên dùng thuật toán<br /> song song bằng cách nhận dạng các hoạt ₫ộng có thể thực hiện<br /> ₫ồng thời rồi nhờ nhiều CPU thực hiện chúng ₫ồng thời.<br /> Một trong các phương pháp hiện thực thuật toán song song là lập<br /> trình multi-process và multi-thread.<br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2010<br /> <br /> Môn : Lập trình hướng ₫ối tượng<br /> Chương 9 : Lập trình song song bằng VC#<br /> Slide 3<br /> <br /> 9.2 Lập trình multi-process bằng class Process<br /> <br /> <br /> <br /> <br /> Môi trường .Net cung cấp class tên là Process ₫ể giúp ta lập trình<br /> multi-process dễ dàng.<br /> Class Process thuộc namespace System.Diagnostics, nó chứa các<br /> thuộc tính và tác vụ giúp ta quản lý process dễ dàng, thuận lợi.<br /> Thí dụ thuộc tính StartInfo là 1 ₫ối tượng gồm nhiều thuộc tính xác<br /> ₫ịnh thông tin ₫ể kích hoạt ứng dụng xác ₫ịnh :<br /> Process myProcess = new Process();<br /> myProcess.StartInfo.UseShellExecute = false;<br /> myProcess.StartInfo.FileName = txtPath.Text;<br /> myProcess.StartInfo.CreateNoWindow = true;<br /> ….<br /> <br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2010<br /> <br /> Môn : Lập trình hướng ₫ối tượng<br /> Chương 9 : Lập trình song song bằng VC#<br /> Slide 4<br /> <br /> 9.2 Lập trình multi-process bằng class Process<br /> <br /> <br /> <br /> <br /> Sau khi thiết lập ₫ầy ₫ủ các thông tin ₫ể khởi tạo process, ta có thể<br /> gọi tác vụ Start ₫ể kích hoạt nó chạy :<br /> myProcess.Start();<br /> Sau khi ₫ược kích hoạt, process sẽ chạy song hành và ₫ộc lập với<br /> process kích hoạt nó cho ₫ến khi kết thúc theo thuật giải của nó.<br /> Tuy nhiên, từ bên ngoài ta có thể giết process nhờ tác vụ Kill :<br /> myProcess.Kill();<br /> <br /> Khoa Khoa học & Kỹ thuật Máy tính<br /> Trường ĐH Bách Khoa Tp.HCM<br /> © 2010<br /> <br /> Môn : Lập trình hướng ₫ối tượng<br /> Chương 9 : Lập trình song song bằng VC#<br /> Slide 5<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2