ĐỒ ÁN NGUYÊN LÝ HỆ ĐIỀU HÀNHĐề tài: ỨNG DỤNG MUTILTHREAD ĐỂ NHÂN HAI MA TRẬN

20 1 0
ĐỒ ÁN NGUYÊN LÝ HỆ ĐIỀU HÀNHĐề tài: ỨNG DỤNG MUTILTHREAD ĐỂ NHÂN HAI MA TRẬN

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐỒ ÁN MÔN HỌC Company LOGO ĐỒ ÁN NGUYÊN LÝ HỆ ĐIỀU HÀNH Đề tài: ỨNG DỤNG MUTILTHREAD ĐỂ NHÂN HAI MA TRẬN Giáo viên hướng dẫn: Ths Trần Hồ Thủy Tiên Sinh viên thực hiên: Vũ Đức Nội Nội dung trình bày Cơ sở lý thuyết Thiết kế xây dựng chương trình Kết luận Cơ sở lý thuyết Khái niệm thread Khái niệm multi thread Ưu nhược điểm multi thread Cơ sở lý thuyết Khái niệm thread  Thread luồng chạy process  Nó dịng điều khiển process  Nó sử dụng để thực công việc cho process Cơ sở lý thuyết  Giống process thread có nhiều trạng thái như: Running Blocked Ready Terminated Cơ sở lý thuyết  Sơ đồ trạng thái thread Cơ sở lý thuyết Khái niệm multi-thread  Multi thread process tách thành nhiều luồng khác để thực nhiệm vụ khác lúc  VD: Khi ta nghe nhạc youtube trình ứng dụng phân thành nhiều luồng Một luồng thực thi công việc load nhạc internet, luồng thực thi công việc phát nhạc Cơ sở lý thuyết  Các thread process chia sẻ chung vùng tài nguyên Tuy nhiên thread có stack riêng dùng để:   Truyền tham số cho hàm  Để chứa biến nội  Để lưu trữ giá trị trả hàm Cơ sở lý thuyết Cơ sở lý thuyết Ưu nhược điểm Multi thread  Ưu điểm  Giúp ct chạy nhanh  Cần thiết số trình  Khuyết điểm  Khó viết  Khó kiểm sốt lỗi  Dữ liệu bị xung đột ứng dụng Thiết kế xây dựng chương trình Mơi trường triển khai Phân tích yêu cầu Tổ chức sở liệu Xây dựng hàm chức Thiết kế xây dựng chương trình  Mơi trường triển khai  Lập trình hệ điều hành Ubuntu  Sử dụng ngơn ngữ lập trình C  Viết QT Creater Thiết kế xây dựng chương trình  Phân tích u cầu  • Thuật tốn nhân hai ma trận Phép nhân hai ma trận thực số cột ma trận bên trái số dòng ma trận bên phải • Nếu ma trân A có kích thước m x n ma trận B có kích thước n x p, ma trận tích AB có kích thước m x p có phần tử đứng hàng i, cột thứ j xác định bởi: C[i][j] = A[i][1] * B[1][j] + … + A[i][n] * B[n][j] Thiết kế xây dựng chương trình  Để thực phép nhân hai ma trận multi thread ta tiến hành tạo n thread thread có nhiệm vụ nhân giá trị thuộc hàng thứ i đến hàng thứ j ma trận bên trái Thiết kế xây dựng chương trình  Ví dụ: Ta muốn nhân ma trận A B với kích thước ma trận 100x100 với thread chạy thì:      Thread 1: Nhân hàng đến hàng 20 mt A cho cột mt B Thread 2: Nhân hàng 20 đến hàng 40 mt A cho cột mt B Thread 3: Nhân hàng 40 đến hàng 60 mt A cho cột mt B Thread 4: Nhân hàng 60 đến hàng 80 mt A cho cột mt B Thread 5: Nhân hàng 80 đến hàng 100 mt A cho cột mt B Thiết kế xây dựng chương trình  Tổ chức sở liệu  Mỗi ma trận có dạng: struct matrix { char link[50]; // đường link chứa file int n; // số hàng int m; // số cột int **A; };  Ngồi cịn biến khác để phục vụ chương trình Thiết kế xây dựng chương trình  Xây dựng hàm chức  void *readFile(void *arg) Dùng để thực việc đọc file ma trận  void *multi(void *arg) Dùng để thực phép nhân hai ma trận Kết luận  Những kết đạt  Nắm rõ thread  Biết cách tạo chạy chương trình multi thread  Những thiếu sót  Chương trình chưa có giao diện Thank you!!! Company LOGO

Ngày đăng: 25/01/2022, 11:50

Mục lục

  • Nội dung trình bày

  • Cơ sở lý thuyết

  • Cơ sở lý thuyết

  • Cơ sở lý thuyết

  • Cơ sở lý thuyết

  • Cơ sở lý thuyết

  • Cơ sở lý thuyết

  • Cơ sở lý thuyết

  • Cơ sở lý thuyết

  • Thiết kế và xây dựng chương trình

  • Thiết kế và xây dựng chương trình

  • Thiết kế và xây dựng chương trình

  • Thiết kế và xây dựng chương trình

  • Thiết kế và xây dựng chương trình

  • Thiết kế và xây dựng chương trình

  • Thiết kế và xây dựng chương trình

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan