아래는 업데이트 함수 내부라고 침dirtyFlag = false//머시기머시기 계산(비동기x)...if (계산결과) dirtFlag = true이런식으로 하나의 업데이트 시퀀스에서 시작할때 초기화, 끝날때 결과값 저장을 하면외부에서 참조할때 저 플래그가 초기화된 값으로 가져올 가능성이 있는거임?false로 초기화 한 담에 계산하기전에 참조가 되어버리는 경우를 말하는거괜찮은줄 알았는데 지피티가 위험하대..
다른 객체의 update보다 먼저 실행될 수도 있고 늦게 실행될 수도 있어서 초기화가 문제가 아님 만약 이전 프레임에서 false였고 현재 프레임에서 true로 바뀌는데, 현재 프레임에서 다른 객체의 update가 먼저 실행되면 false 받아오는거
그거는 예측가능한 범주인데 초기화 직후 참조될 가능성이 있다면 좀 문제라...
위 문제가 상관 없으면 그냥 dirtFlag = (계산결과) 넣으면 되잖아
유니티 게임 메인스레드 관련 내용 확인 ㄱㄱ
ㅇㅇ 위험함. 타이밍 꼬이는 경우 꽤 많음. 그래서 로직만 보면 문제가 없는데 문제는 생김.
클났네 또 어디서 저런 패턴을 썼더라 쉬벌
업데이트 도중에 참조될 수는 없음 실행 순서에 따라서 업데이트가 아예 실행되기 전에 참조되거나 완전히 실행된 후에 참조될 뿐 정 불안하면 참조나 계산 둘 중 하나를 LateUpdate()에 넣으셈
이건 또 희소식이군 일단 낙관적으로 냅뒀다가 문제생기면 고치는 걸로 해야지 ㅋㅋㅋ
비동기 아니면 절대없지
Update 메서드는 모든 Monobehaviour 상속체의 Update를 순차적으로 실행하는 구조일거임. 그래서 코루틴, async 이런거 쓴거 아니면, A의 Update가 실행 되는 도중에 B의 Update가 실행된다거나 하는 일 없을걸?