인프런 커뮤니티 질문&답변

박준영님의 프로필 이미지
박준영

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

Interlocked

제 visual studio에서는 number++의 원자성이 보존되는거같은데 맞나요...?

작성

·

264

1

제 디스어셈블리에서는 number++; 가 선생님 강의와 다르게  나옵니다. number의 주소값에 접근해서 그 값을 바로 1 증가시켜주는 것 같은데 원자성이 보존되는게 아닌가? 라고 생각해봤지만 결과는 0이 안나오더라구요. 

inc         dword ptr ds:[0F04424h]

이 줄이 number의 주소값에 접근해서 그 값을 바로 1 증가시켜주는게 아닌가요?

답변 1

2

Rookiss님의 프로필 이미지
Rookiss
지식공유자

단순 덧셈은 원자성이 보장되지 않습니다.
inc dword ptr도 원자적이지 않고
원자적인 덧셈은 어셈으로 까볼 때
 lock inc dword ptr이라고 나옵니다.

박준영님의 프로필 이미지
박준영

작성한 질문수

질문하기