Tin học
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Lập trình Bài toán Sản xuất-Tiêu thụ dùng semFull-semEmpty-CritSec

Go down

Lập trình Bài toán Sản xuất-Tiêu thụ dùng semFull-semEmpty-CritSec Empty Lập trình Bài toán Sản xuất-Tiêu thụ dùng semFull-semEmpty-CritSec

Bài gửi  tamnguyen 29/10/2009, 14:00

- Giả sử có bộ nhớ đệm BUFFER bao gồm các khoảng Item được tiến trình Producer lần lược đưa các sản phẩm S1, S2… Sn 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 và lấy sản phẩm ra khi chưa có .

• Đồng bộ hóa bằng 2 đèn hiệu ( Semophone)
Ta dùng 2 đèn hiệu SemFull và SemEmpty
SemFull : kiểm tra số Sản phẩm trong bộ đệm.
SemEmpty: Kiểm tra số vùng trống trong bộ đệm.
Hai tác nguyên: Wait và Signal
Producer()
{ // Chờ khi bộ đệm đầy
WaitforSignal(SemFull,INITE)
//Sản xuất sản phẩm
Releave(SemEmpty)
//Bộ đệm đã có Sản phẩm
}
Consumer()
{ // Chờ đến khi có sản phẩm
WaitforSignal(SemEmpty ,INITE)
//tiêu thụ sản phẩm
Releave(SemFull)
//Bộ đệm đã có chổ trống
}


Bài này có cái hình nữa mà mình up lên hok dc, nếu bạn nào cần thì liên hệ mình hén
TamNguyen (0902 744430)

tamnguyen

Tổng số bài gửi : 11
Join date : 14/08/2009

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết