왜 자꾸 음수계산이 이상하게 되는걸까요..
매미꽃
2023.04.01
스레드 사용하여 게임을 만들고있는데요
스레드 동기화를 안하면 정수계산이나 이런것들이 예상하지 못한 값으로 된다는 것은 알고있습니다
그래서 WaitForSingleObject(hMutex,INFINITE); ReleaseMutex(hMutex); 사용하여
여러개의 스레드에서 접근하지 못하게 했는데요
그래도 계속계산이 잘못되네요
완전 노가다 멘땅에 헤딩 코드라.. 보기 힘드시겠지만.. 저는 랜덤하게 20 30 50의 데미지를 입게 했는데
실행해보면 100에서 1빼서 99가 되고 이러네요.. 웃기는건 3번째 적군만 그런다는겁니다
그리고 분명히 각각의 스레드 스위치를 두어서 각각 적군이 죽으면 이동문을 실행안하게 했는데
이상하게도 한 적군이 죽으면 모든 스레드가 멈춘다는겁니다;;
일단 3명일때만 구현해서 무조건 적은3명으로 하셔야되구요 ..완전 안습한 코드지만 답변좀 부탁드릴게요
너무 막장코드라 답변이 없을것 같네요 ㅜㅜ