인터락 함수는 크리티컬 섹션보다 더 사용하기 쉽습니다 --;
InterlockedIncrement 함수는 전달된 인자의 값을 1 더해주는 함수입니다.
1 줄이는 함수는 InterlockedDecrement 구요.
InterlockedIncrement 함수는 전달된 인자의 값을 1 더해주는 함수입니다.
1 줄이는 함수는 InterlockedDecrement 구요.
- LONG InterlockedIncrement(
- LONG volatile* Addend
- );
- LONG InterlockedDecrement(
- LONG volatile* Addend
- );
volatile 이라는 키워드가 있죠.
이것은 "코드 최적화를 수행하지 말 것" "메모리에 직접 연산하라(캐쉬하지 말것)" 효과를 가지고 있습니다.
이 함수들 외에도 64비트 기반의 인터락함수, InterlockedIncrement64, InterlockedDecrement64 같은 함수들도 있구요.
해당 포인터의 값을 변경하는 InterlockedExchangePointer 함수도 있습니다.