Chương <br />
3. <br />
Kiểm <br />
soát <br />
xung <br />
đột <br />
<br />
Synchronization <br />
Technique <br />
<br />
Lương <br />
Ánh <br />
Hoàng <br />
<br />
<br />
hoangla@soict.hut.edu.vn <br />
<br />
<br />
Nội <br />
dung <br />
<br />
3.1 <br />
Khái <br />
niệm <br />
<br />
3.2 <br />
Đoạn <br />
găng <br />
(Critical <br />
Section). <br />
<br />
3.3 <br />
Đèn <br />
hiệu <br />
(Semaphore) <br />
<br />
<br />
3.4 <br />
Mutex <br />
<br />
3.5 <br />
Event <br />
<br />
3.6 <br />
SRW <br />
Lock <br />
<br />
<br />
47 <br />
<br />
<br />
3.1 <br />
Khái <br />
niệm <br />
<br />
§ Xung <br />
đột <br />
là <br />
vấn <br />
đề <br />
phát <br />
sinh <br />
khi <br />
nhiều <br />
luồng <br />
của <br />
chương <br />
trình <br />
chạy <br />
<br />
trên <br />
bộ <br />
vi <br />
xử <br />
lý <br />
đa <br />
nhân <br />
cùng <br />
truy <br />
nhập <br />
một <br />
tài <br />
nguyên <br />
hệ <br />
thống. <br />
<br />
§ Ví <br />
dụ <br />
<br />
int <br />
x <br />
= <br />
0; <br />
<br />
DWORD<br />
{ <br />
<br />
<br />
<br />
WINAPI <br />
Thread(LPVOID <br />
<br />
lpParam) <br />
<br />
<br />
for <br />
(int <br />
i=0;i