P1 TRƯỚC P2,P2 TRƯỚC P3

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

P1 TRƯỚC P2,P2 TRƯỚC P3

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

Đồng bộ hóa công việc các tiến trình sao cho P1, trước P2, 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 synch1 = 0, synch2 = 0;

P1 P2 P3
S1 wait(synch1); wait(synch2);
signal(synch1); S2, signal(synch1); S3

P2 bị khóa tại hàm wait(synch1) do synch1=0; P3 bị khóa tại hàm wait(synch2) do synch2=0. Sau khi S1 dc thi hành thì synch1 sẽ tăng lên 1 do signal(synch1).
Lúc này P2 sẽ dc thực hiện(synch1 =1), nhưng P3 vẫn bị khóa do synch2 =0, sau khi S2 thi hành xong thì synch2 =1(signal(synch2)) lúc này P3 mới dc thực hiện.
=> P1 trước P2, 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