Bài toán sản xuất – tiêu thụ với thuật giải phù hợp
Trang 1 trong tổng số 1 trang
Bài toán sản xuất – tiêu thụ với thuật giải phù hợp
*Bài toán Sản xuất-Tiêu thụ.
- Giả sử có bộ nhớ đệm (buffer) bao gồm nhiều khoang chứa (Items) được tiến trình Producer lần lượt đưa các sản phẩm S1, S2,... vào.
- Tiến trình Consumer lần lượt lấy sản phẩm ra theo đúng thứ tự.
- Công việc của Producer phải đồng bộ với Consumer: Không được đưa sản phẩm vào khi buffer đầy, không được lấy ra khi chưa có sản phẩm.
Tiến trình sản xuất (PRODUCER):
item nextProduced;
while (1)
{
while(((in+1)%BUFFER_SIZE)==out); //quẩn tại đây khi buffer đầy.
buffer[in] = nextProduced;
in = (in+1)%BUFFER_SIZE;
}
Tiến trình tiêu thụ (CONSUMER):
item nextConsumed;
while (1)
{
while(in==out); //quẩn khi buffer rỗng
nextConsumed = buffer[out];
out = (out+1)%BUFFER_SIZE;
}
- Giả sử có bộ nhớ đệm (buffer) bao gồm nhiều khoang chứa (Items) được tiến trình Producer lần lượt đưa các sản phẩm S1, S2,... vào.
- Tiến trình Consumer lần lượt lấy sản phẩm ra theo đúng thứ tự.
- Công việc của Producer phải đồng bộ với Consumer: Không được đưa sản phẩm vào khi buffer đầy, không được lấy ra khi chưa có sản phẩm.
Tiến trình sản xuất (PRODUCER):
item nextProduced;
while (1)
{
while(((in+1)%BUFFER_SIZE)==out); //quẩn tại đây khi buffer đầy.
buffer[in] = nextProduced;
in = (in+1)%BUFFER_SIZE;
}
Tiến trình tiêu thụ (CONSUMER):
item nextConsumed;
while (1)
{
while(in==out); //quẩn khi buffer rỗng
nextConsumed = buffer[out];
out = (out+1)%BUFFER_SIZE;
}
HoXuanTri (I11C)- Tổng số bài gửi : 3
Join date : 26/08/2011
Similar topics
» Thảo luận Bài 4
» Bài toán Sản xuất - Tiêu thụ (Trong Bài 4 - Quản lí tiến trình) post đây để dễ theo dõi !!!
» Thảo luận Bài 4
» Phát biểu bài toán Tiêu thụ - sản xuất vời thuật giải phù hợp
» Thảo luận Bài 4
» Bài toán Sản xuất - Tiêu thụ (Trong Bài 4 - Quản lí tiến trình) post đây để dễ theo dõi !!!
» Thảo luận Bài 4
» Phát biểu bài toán Tiêu thụ - sản xuất vời thuật giải phù hợp
» Thảo luận Bài 4
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