Phân tích thuật giải sai bài toán Dining-Philosophers (dẫn đến Deadlock)
Trang 1 trong tổng số 1 trang
Phân tích thuật giải sai bài toán Dining-Philosophers (dẫn đến Deadlock)
Mình tìm thấy bài phân tích này, lớp mình cũng vừa học qua Bài 8 - Deadlock, nên mình muốn chia sẻ với các bạn, bạn nào thấy sai hay đúng thì góp ý kiến luôn nhé.
Dữ liệu chia sẻ:
semaphore chopstick[5];
Khởi đầu các biến đều là: 1.
while (1)
{
wait(chopstick[i])
wait(chopstick[(i+1) % 5 ] )
…
eat
…
signal(chopstick[i]);
signal(chopstick[(i+1) % 5] );
…
think
…
}
Giải pháp trên có thể gây ra deadlock
Khi tất cả triết gia đói bụng cùng lúc và đồng thời cầm một chiếc đũa bên tay trái deadlock
Có thể xảy ra trường hợp ách vô hạn định (starvation).
Dữ liệu chia sẻ:
semaphore chopstick[5];
Khởi đầu các biến đều là: 1.
while (1)
{
wait(chopstick[i])
wait(chopstick[(i+1) % 5 ] )
…
eat
…
signal(chopstick[i]);
signal(chopstick[(i+1) % 5] );
…
think
…
}
Giải pháp trên có thể gây ra deadlock
Khi tất cả triết gia đói bụng cùng lúc và đồng thời cầm một chiếc đũa bên tay trái deadlock
Có thể xảy ra trường hợp ách vô hạn định (starvation).
PhamThiKhanhHa- Tổng số bài gửi : 25
Join date : 04/03/2009
Similar topics
» Phân tích thuật giải sai bài toán Dining-Philosophers (dẫn đến Deadlock).
» Thảo luận Bài 7
» Phát biểu bài toán Sản xuất-Tiêu thụ với thuật giải dùng kỹ thuật Busy-Waiting.
» Xét một giải pháp semaphore đúng cho bài toán Dining philosophers
» Thảo luận Bài 7
» Thảo luận Bài 7
» Phát biểu bài toán Sản xuất-Tiêu thụ với thuật giải dùng kỹ thuật Busy-Waiting.
» Xét một giải pháp semaphore đúng cho bài toán Dining philosophers
» Thảo luận Bài 7
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết