Lập trình đa luồng

Bạn nào giúp mình bài tập này với,mình không chuyên nên hơi vướng,bạn nào nhận được thì mình xin hậu tạ(thẻ cào điện thoại).Xin cảm ơn trước!
Tìm hiểu lập trình đa luồng

Mục tiêu: Tìm hiểu 3 công cụlập trình đa luồng cho C/C++ trên Windows/Ubuntu.
Ngày nay với phát triển của máy tính đa nhân cũng nhưcác hệ điều hành đa nhiệm, xu hướng lập trình song
song, đa luồng ngày càng phát triển. Nó cho phép chia bài toán lớn thành nhiều bài toán nhỏ, tăng cao hiệu
năng triển khai và kiểm lỗi chương trình. Microsoft Visual C++ cho phép tạo các ứng dụng đa luồng trong
Windows. Chúng ta cần sửdụng nhiều luồng nếu ứng dụng của chúng ta cần quản lí nhiều hoạt động như:
quản lí đồng thời bàn phím và chuột. Một luồng xửlí các sựkiện gõ phím đến từbàn phím, một luồng lọc
các sựkiện đến từchuột (mouse). Một luồng thứ3 có thểcập nhật hiển thịtrên màn hình trên cơsởdữliệu
đến từbàn phím và chuột. Đồng thời một sốluồng khác có thểdùng đểquản lí truy cập ổ đĩa hoặc quản lí
truyền thông.
Yêu cầu:
1. Lập trình đa luồng sửdụng ba công cụsau:
- pthread
- thread của ANSI C11
- thread của boost
2. Tìm và đánh giá về tài liệucủa 3 công cụtrên các khía cạnh sau (all):
- dễdùng,
- dễhọc,
- dễviết chương trình
- dễkiểm lỗi
3. Đánh giá về tính năngcủa 3 công cụtrên trên các khía cạnh trên (all):
- Hệ điều hành hỗtrợ(Windows, Linux/Ubuntu, Android)
- Tốc độcác tác vụcơbản: tạo thread, hủy thread: nhanh nhất, chậm nhất, thời gian bao lâu, trên máy có cấu
hình thếnào?
- Truyền thông tin/dữliệu giữa các thread: có dễdàng không? có hỗtrợmutex/semaphore không?
Viết chương trình ví dụsửdụng 3 công cụtrên dùng C có các hàm:
- Tạo thread,
- Hủy thread
- Chia sẻdữliệu giữa 2 thread sửdụng mutex và metaphore:
o Một thread gửi một sốnguyên
o Một thread nhận sốnguyên, tăng 1
Xây dựng lớp C++ đóng gói thread trên. Viết chương trình ví dụ sử dụng.
 
  • Chủ đề
    lập trình c++
  • Top