YOMEDIA
NONE

Trình bày phương pháp sử dụng cờ hiệu (semaphore) cho vấn đề loại trừ tương hỗ và đoạn nguy hiểm.

Theo dõi Vi phạm
ADSENSE

Trả lời (1)

  • Cờ hiệu S là 1biến nguyên được khởi tạo bằng khả năng phục vụ đồng thời của tài nguyên

    Giá trị của S chỉ có thể thay đổi nhờ gọi 2 thao tác là Wait và Signal Wait(S):

    - Giảm S đi 1 đơn vị

    - Nếu giá trị của S<0 thì tiến trình gọi wait(S) sẽ bị phong tỏa Signal(S):

    - Tăng S lên 1 đơn vị

    - Nếu giá trị của S≤0: 1 trong các tiến trình đang bị phong tỏa được giải phóng và có thể thực hiện tiếp

    Wait và Signal là những thao tác nguyên tử

    - Để tránh tình trạng chờ đợi tích cực, sử dụng 2 thao tác phong tỏa và đánh thức:

    - Nếu tiến trình thực hiện thao tác wait, giá trị cờ hiệu âm thì thay vì chờ đợi tích cực nó sẽ bị phong tỏa  ( bởi thao tác block) và thêm vào hàng đợi của cờ hiệu 

    - Khi có 1 tiến trình thực hiện thao tác signal thì 1 trong các tiến trình bị khóa sẽ được chuyển sang trạng thái sẵn sàng nhờ thao tác đánh thức  (wakeup) chứa trong signal

      bởi minh dương 26/11/2021
    Like (0) Báo cáo sai phạm

Nếu bạn hỏi, bạn chỉ thu về một câu trả lời.
Nhưng khi bạn suy nghĩ trả lời, bạn sẽ thu về gấp bội!

Lưu ý: Các trường hợp cố tình spam câu trả lời hoặc bị báo xấu trên 5 lần sẽ bị khóa tài khoản

Gửi câu trả lời Hủy
 
NONE

Các câu hỏi mới

AANETWORK
 

 

YOMEDIA
AANETWORK
OFF