Code giải thuật về Monitor-deadlock bị lỗi


Sao chép mã từ đâu thế?
Chụp 2 cái hình chỉ để biết có mấy gạch đỏ chứ có biết lỗi gì đâu.
Ngay cả khai báo phương thức cũng sai.
Nói chung là sai cơ bản - sai cú pháp của C#.

6 Likes

của thầy dạy môn hệ điều hành đó ạ .
Nếu a ko phiền có thể giúp e giải thuật bữa ăn của các triết gia theo đồng bộ monitor ko ạ .
E đọc tài liệu khắp nơi cả trăm lần nhưng vẫn ko hiểu cách giải quyết vấn đề

Cái này là giả mã có chạy được đâu :smiley: Phải viết lại đúng cú pháp mới được, dùng System.Threading :smiley:

5 Likes

thật sự là e biết cú pháp Monitor dùng thế nào luôn ấy ạ ,thầy chỉ dạy sơ wait signal rồi bắt làm chứ ko có đề cập cú pháp hay cấu trúc dùng :frowning:

Làm gì có cú pháp Monitor hả cậu :man_facepalming:
Đó là mã giả (có thể dựa theo cú pháp của C#), mục đích để cậu hiểu thuật toán, rồi cậu tự implement nó bằng ngôn ngữ mà cậu thích (ngôn ngữ lập trình mới có cú pháp).

Cơ mà cậu gặp vấn đề gì khi cố hiểu giải thuật này vậy? Cậu đã đọc tài liệu nào rồi? Cậu đã hiểu tới đâu rồi, và chỗ nào chưa hiểu? Và code trên cậu không hiểu đoạn nào?
Cậu có thể chỉ cụ thể cho bọn tớ được không?

5 Likes

E đã đọc tài liệu từ wikipedia cho tới các nguồn thông tin microsoft rồi ạ .
E thấy để giải quyết Dining Philosophers problem thì có các cách khác nhau.
Mặc dù e đã hiểu về signal wait nhưng e ko hiểu cách giải pháp monitor của thầy (như code trên) để giải quyết vấn đề này ạ. :frowning: :frowning:

Sau nhiều ngày học hỏi từ nhiều nguồn khác nhau từ 50 lỗi giờ fix còn 2 lỗi mong m.n giải thích lỗi này giúp e với ạ

The type of any member field, property, or event must be at least as accessible as the member itself. For example, you can’t have a public method M that returns a class C unless C is also public . Likewise, you can’t have a protected property of type A if A is declared as private .

Nghĩa là property, method là public thì kiểu dữ liệu (class, enum, struct) phải là public.

link doccument

Ngoài ra bug không giảm dần đâu, fix xong 2 bug còn 101 bug là bình thường.

3 Likes

A đừng nói xui vậy chứ :frowning: ,fix xong còn 1lỗi .
Lỗi này nằm ở cấu trúc signal wait ,
E vẫn chưa tìm ra được cách sau khi triết gia ăn xong ổng sẽ signal như thế nào để mấy người kia biết ổng đã ăn xong ấy anh ,còn wait thì e chơi thread,sleep ko biết ổn ko nữa :))

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?