LP
TRÌNH
ĐỒNG
THI
&
PHÂN
TÁN
BÀI 3:
NHỮNG CƠ SỞ
ĐỒNG BỘ HOÁ
Giảng viên: Lê Nguyễn Tuấn Thành
Email: thanhlnt@tlu.edu.vn
1
2
Synchonization primitives
NI DUNG
1. Busy-waiting problem
2. Semaphore
3. Monitor
3
Bài ging có s dng hình v trong cun sách “Concurrent and Distributed Computing in Java, Vijay K.
Garg, University of Texas, John Wiley & Sons, 2005
Busy-waiting problem
Nhng gii pháp bài trước gp mt vn đ
chung: bn ch (busy-wait) khi s dng ng
lp while
Khi mt lung không th đi vào CS, s liên lc
kim tra điu kin while
Điu này khiến lung không th thc hin các công
vic khác => gây lãng phí chu trình CPU
Thay phi kim tra liên tc điu kin vào CS, nếu
mt lung ch kim tra khi điu kin này tr thành
true thì s không lãng phí chu trình CPU
4
Synchnization primitives
Nhng cơ s đng b hóa giúp gii quyết vn
đ bn ch
Hai cu trúc đng b ph biến:
Semaphore do Dijkstra đ xut, năm 1968
Monitor được phát minh bi P. B. Hansen C. A.
R. Hoare, năm 1972
5