스레딩을 배우기 시작하고 문제가 발생했습니다.스레딩 채점 시스템
임시 addedPoints 변수에 포인트를 추가하여 최근에 획득 한 포인트의 수를 플레이어에게 보여 주도록 고안된 점수 시스템이 있습니다. 그런 다음 약 1 초 후에 추가 점수가 선수 점수에 추가되어야합니다.
내 시도는 다음과 같습니다
public static void AddPoints(int points)
{
for (int i = 0; i < points; i++)
{
Thread addThread = new Thread(new ThreadStart(ThreadedPoint));
}
}
private static void ThreadedPoint()
{
addedPoints += 1;
Thread.Sleep(1000);
score += 1;
addedPoints -= 1;
}
이 두 가지 문제가있다. 우선 이상적인 스레드와는 거리가 먼 스레드 당 1 포인트 만 추가 할 수 있습니다. 두 번째로 실제로 작동하지 않습니다. addedPoints도 점수도 업데이트되지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?
스레드를 사용해야합니까 (또는 학습을 위해하고 싶습니까?)? 그렇지 않으면이 문제는 호출 스레드에서 발생하는 타이머로 더 잘 해결됩니다. 정확한 세부 정보는 사용하는 GUI 시스템에 따라 다릅니다. –