• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

AfterValue

21.07.08 11:18 작성 조회수 309

0

강의 맨 끝에 int afterValue라는건 데이터가 변경된 후의 데이터를 출력하는 거니까, 동시에 일어날수있는 쓰레드에 양쪽에 붙여야 서로 변경된 값을 출력할수있는 건가요?

답변 2

·

답변을 작성해보세요.

1

Increment를 한 다음 값을 말하는거라,
단일 쓰레드에서도 여전히 유효합니다.
말 그대로 1 증가시킨 '그' 값을 말하는겁니다.

Interlocked.Increment(ref number);
 // 끼어들기 가능
int a = number;

이렇게 하면 중간에 끼어들 수 있으니 1 증가된 '시점'의 값이라는 보장이 없겠죠.

0

음 이렇게 이해하면 될까요

1. 단일 쓰레드에서도 increment한 다음의 값이 출력된다

2. 출력하는 중에도 끼어들기가 가능하니 '원하는 수' 만큼 수정될수 있다?

'원하는 수'라는게 무엇을 말씀하시는지 헷갈리네요.
말 그대로 Interlocked.Increment를 성공하는 딱 그 시점의 값을 알고 싶을 때,
그 결과를 Increment의 return 값으로 받아오면 됩니다.