tôi thấy một số x86, lắp ráp trong nguồn Qt của:Lệnh "khóa" có nghĩa là gì trong lắp ráp x86?
q_atomic_increment:
movl 4(%esp), %ecx
lock
incl (%ecx)
mov $0,%eax
setne %al
ret
.align 4,0x90
.type q_atomic_increment,@function
.size q_atomic_increment,.-q_atomic_increment
Từ Googling, tôi biết
lock
hướng dẫn sẽ làm cho CPU để khóa xe buýt, nhưng tôi không biết khi nào CPU giải phóng xe buýt?Giới thiệu về toàn bộ mã trên, tôi không hiểu cách mã này triển khai
Add
như thế nào?
Vui lòng xem http://stackoverflow.com/a/3339380/856777 – Lucian
liên quan: câu trả lời của tôi trên [Có thể num ++ là nguyên tử cho 'int num'?] (Https://stackoverflow.com/questions/39393850/can -num-be-atomic-for-int-num) giải thích nguyên tử trên x86, và chính xác tiền tố 'lock' là gì, và điều gì sẽ xảy ra nếu không có nó. –