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).
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).
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).
leanhhuy (I11C)- Tổng số bài gửi : 22
Join date : 30/08/2011
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