Announcement

Collapse
No announcement yet.

[Help] Xin định hướng làm bài tập về multithread HĐH

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [C++] [Help] Xin định hướng làm bài tập về multithread HĐH

    Anh chị cho em xin định hướng làm bài tập hệ điều hành này với nhóm em có 4 người mà chết cứng hết chẳng ai biết phải làm gì cả,mà học HĐH thì cũng ko hiểu về mấy cái code trong thread cho lắm,mong anh chị chỉ giúp (định hướng thôi)

    Viết chương trình multithread trong bài toán nhân ma trận. Đọc vào 2 ma trận A & B, sau đó dùng nhiều thread này để thực hiện việc nhân ma trận. Ghi ma trận kết quả ra file.

    em đã làm đc nhập ma trận vào file txt, lấy 2 ma trận đó ra và nhân với nhau,ghi kết quả vào file txt. Nhưng còn phần multithread thì ko biết làm sao cả...

    Mong các anh chị giúp đỡ, many thanks
    Áo rách vai vì lòng tri kỷ
    Quần thủng đích vì ý chí kiên cường
    Vành mũ cối che đời trai trẻ
    Dép cao su dẫm nát mối tình đầu..

  • #2
    Hồi trước cũng thực hành HDH về multithread(cũng C++ lun) nhưng khác đề 1 chút , nhưng chắc có thể tham khảo đc :
    Cho người dùng nhập vào 2 số nguyên dương a và b, sau đó dùng n thread để tìm kiếm các số nguyên tố nằm trong khoảng 2 số đã nhập. Mỗi lần tìm được một số thì sẽ tăng biến chung number (khởi động là 0) lên 1.
    //
    Mình chia đoạn a-> b ra 3 đoạn :
    thread1 : từ a đến a+n (với n = (b-a)/3)

    thread3 : từ b-n đến b

    thread2 : đoạn giữa : từ a+n đến b-n
    Link Down :http://www.mediafire.com/?d6jblm283mr7ul8
    Điểm cao nhất lớp đó , 8 điểm hehe
    Còn bài bạn , mình nghĩ chắc mỗi hàng hoặc mỗi cột kết quả thì lấy 1 thread ra để tính ... Ko biết đúng ko ^^

    Comment


    • #3
      thanks đại ca nhìu em đã hiểu ra vấn đề bây h bắt đầu vọc, nếu ko đc mong anh chỉ giảo thêm hehe bài này mà điểm cao hôm nào mời anh bữa nước mía nhé
      Last edited by 10520401; 05-11-2011, 18:05.
      Áo rách vai vì lòng tri kỷ
      Quần thủng đích vì ý chí kiên cường
      Vành mũ cối che đời trai trẻ
      Dép cao su dẫm nát mối tình đầu..

      Comment


      • #4
        Hồi trước cũng làm một bài về mutithread và sử dụng mutex để tránh cs.
        BTL.
        Môn này thực hành và bài tập lớn chả liên quan gì nhau, chủ yếu vẫn là tự mò.

        Comment


        • #5
          Originally posted by 08520521 View Post
          Hồi trước cũng làm một bài về mutithread và sử dụng mutex để tránh cs.
          BTL.
          Môn này thực hành và bài tập lớn chả liên quan gì nhau, chủ yếu vẫn là tự mò.
          thanks for share chúc anh 1 ngày tốt lành hê hê
          Áo rách vai vì lòng tri kỷ
          Quần thủng đích vì ý chí kiên cường
          Vành mũ cối che đời trai trẻ
          Dép cao su dẫm nát mối tình đầu..

          Comment


          • #6
            ai có code bài này luôn không vậy up cho minh tham khảo với........

            Comment


            • #7
              uh mình cũng đang làm 1 bài giống bài này nhưng chẳng hiểu gì sất nhất là phần code về process với thread đọc tài liệu rồi nhưng vẫn chẳng hiểu gì,nản quá. Vậy ai rành về cái này hướng dẫn giúp với. Đề nó thế này:
              Viết chương trình multithread cho bài toán sau: Đọc vào một dãy A từ file, dùng
              n thread để sắp xếp dãy theo thứ tự tăng dần.
              - Mỗi thread lấy một phần của dãy A và sắp xếp theo thứ tự tăng dần.
              - Sau đó, 1 thread trộn các dãy do các thread vừa rồi đã sắp xếp thành dãy kết quả.

              Comment


              • #8
                Đọc từ dãy A từ file và lưu trữ theo danh sách liên kết -> cắt một đoạn của A thành a1, lưu địa chỉ đầu/đuôi vào đâu đó -> start thread 1 -> thread 1 đọc địa chỉ đầu/đuôi dãy, sắp xếp dãy a1 -> ... -> ... thread n... đến khi A rỗng.
                Chờ cho tới khi n thread kết thúc -> start thread trộn -> thread trộn đọc địa chỉ của tất cả dãy con -> trộn các dãy thành dãy B mới đã sắp xếp (cái này thì quá dễ)
                Chờ thread trộn chạy xong rồi thread chính xuất kết quả or bala balah... tùy hứng.

                Độ khó: thấp.
                Độ khó cao hơn khi các thread tự phân chia công việc và start thread trộn khi xong việc mà ko cần đến sự điều khiển của thread chính.

                Comment


                • #9
                  Đọc từ dãy A từ file và lưu trữ theo danh sách liên kết -> cắt một đoạn của A thành a1, lưu địa chỉ đầu/đuôi vào đâu đó -> start thread 1 -> thread 1 đọc địa chỉ đầu/đuôi dãy, sắp xếp dãy a1 -> ... -> ... thread n... đến khi A rỗng.
                  Chờ cho tới khi n thread kết thúc -> start thread trộn -> thread trộn đọc địa chỉ của tất cả dãy con -> trộn các dãy thành dãy B mới đã sắp xếp (cái này thì quá dễ)
                  Chờ thread trộn chạy xong rồi thread chính xuất kết quả or bala balah... tùy hứng.

                  Độ khó: thấp.
                  Độ khó cao hơn khi các thread tự phân chia công việc và start thread trộn khi xong việc mà ko cần đến sự điều khiển của thread chính.
                  Cảm ơn nhiều! tuy đọc không hiểu lắm nhưng để cố gắng xem sao.

                  Comment


                  • #10
                    bài của em có cần đọc file bằng thread ko vậy mấy bác đề nói ko rõ ràng lắm T__T
                    Áo rách vai vì lòng tri kỷ
                    Quần thủng đích vì ý chí kiên cường
                    Vành mũ cối che đời trai trẻ
                    Dép cao su dẫm nát mối tình đầu..

                    Comment


                    • #11
                      có tài liêuc phần này không mấy bác cho em xin nhé....tks

                      Comment


                      • #12
                        bài của em có cần đọc file bằng thread ko vậy mấy bác đề nói ko rõ ràng lắm T__T
                        Không cần đâu bạn. Đề bài ghi là dùng thread để thực hiện việc nhân ma trận thui mà.

                        Comment


                        • #13
                          Originally posted by 10520401 View Post
                          bài của em có cần đọc file bằng thread ko vậy mấy bác đề nói ko rõ ràng lắm T__T
                          Chỉ cần khi ma trận rất lớn, đọc file mất nhiều thời gian mới cần đọc được tới đâu giao cho thread tính toán luôn. Với trường hợp bài tập này thì không cần "hầm hố" như vậy

                          Comment


                          • #14
                            Originally posted by 10520383 View Post
                            Không cần đâu bạn. Đề bài ghi là dùng thread để thực hiện việc nhân ma trận thui mà.
                            Originally posted by 09520243 View Post
                            Chỉ cần khi ma trận rất lớn, đọc file mất nhiều thời gian mới cần đọc được tới đâu giao cho thread tính toán luôn. Với trường hợp bài tập này thì không cần "hầm hố" như vậy
                            may quá đằng nào đọc file bằng thread em cũng ko biết làm
                            Áo rách vai vì lòng tri kỷ
                            Quần thủng đích vì ý chí kiên cường
                            Vành mũ cối che đời trai trẻ
                            Dép cao su dẫm nát mối tình đầu..

                            Comment


                            • #15
                              Originally posted by 10520292 View Post
                              có tài liêuc phần này không mấy bác cho em xin nhé....tks
                              MSDN bạn ơi http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx
                              Áo rách vai vì lòng tri kỷ
                              Quần thủng đích vì ý chí kiên cường
                              Vành mũ cối che đời trai trẻ
                              Dép cao su dẫm nát mối tình đầu..

                              Comment

                              LHQC

                              Collapse
                              Working...
                              X