P1 ,P2 TRƯỚC P3

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

P1 ,P2 TRƯỚC P3

Bài gửi  nguyentruongan03(HLT3) on 2/5/2014, 17:43

Đồng bộ hóa công việc các tiến trình sao cho P1 ,P2 trước P3.

Giả sửa có 3 tiến trình P1, P2 và P3 có mã tương ứng là S1, S2 và S3

Semaphore synch = -1;

P1 P2 P3
S1 S2 wait(synch);
signal(synch); signal(synch); S3

- Tại thời điểm ban đầu: P1 và P2 đang thực hiện lệnh S1, S2, lúc này synch=-1.
- Lúc này P3 đang bị khóa tại hàm wait(synch) đợi khi synch >0.
- Khi P1 thực hiện, S1 dc thi hành xong thì hàm signal(synch) sẽ tăng synch lên 1 và synch= 0. P3 lúc này vẫn bị khóa do synch=0.
- Khi P2 thực hiện, S2 dc thi hành xong thì hàm signal(synch) sẽ tăng synch lên 1 và synch= 1.
Lúc này P3 mới dc thực hiện.
=>P1 và P2 trước P3.

nguyentruongan03(HLT3)

Tổng số bài gửi : 22
Join date : 23/03/2014

Xem lý lịch thành viên

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


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