1
80x86에는 단어의 개별 비트를 원자 적으로 테스트하고 설정하기위한 지침이 있습니까?80x86에 대한 원자 비트 필드 연산은 무엇입니까?
80x86에는 단어의 개별 비트를 원자 적으로 테스트하고 설정하기위한 지침이 있습니까?80x86에 대한 원자 비트 필드 연산은 무엇입니까?
비트를 단일 원자 연산으로 테스트하고 수정하는 것을 의미하는 경우 비트 테스트 명령어 (BT, BTS, BTR 및 BTC)는 모두 LOCK 접두어를 사용하여 원자 단위로 만들 수 있습니다.
원자 단위로 테스트하고 원자 단위로 별도의 연산을 설정하는 경우 표준 원자 읽기를 사용하여 비트를 테스트하고 LOCK OR, LOCK AND LOCK XOR 명령어를 사용하여 비트를 수정할 수 있습니다 .
더 복잡한 것이 필요한 경우 한 비트를 테스트 한 다음 다른 비트를 설정하면 재시도 루프에서 표준 비교 및 스왑 CMPXCHG 명령어를 사용해야합니다.