각 개체가 이동하고 작업을 수행하는 자체 스레드가있는 게임을 개발 중입니다.
모든 개체 간의 모든 상호 작용을 조정하는 중심 개체가 있습니다. 나는 무작위로 무작위로 여러 가지 문제를 겪었습니다. 무작위로 무작위로 작업을 수행했습니다.이 작업을 재현 할 수 없습니다. 실행 횟수는 100 회당 1 회 정도입니다. 불가능한 일이 일어나는 경우도 있습니다. 필드는 프로그램의 시작 부분에 쓰여지는 유일한 문장 인 프로그램 중간에 작성됩니다.
각 패스에서 중앙 개체를 잠그면 모든 스레드를 아첨하지 않고이를 해결하기위한 지침은 무엇이 있습니까? 나는 "아코디언"운동을 일으킬 것이기 때문에 그들을 평평하게하고 싶지 않습니다. 아코디언 움직임을 참조하는 것은 객체 1, 2, 3, 4, 5가 오른쪽으로 움직일 필요가 있고 그 때가 발생합니다 (시간이 아래로 진행됨).다중 스레드 문제를 방지하기위한 지침
54321
5432 1
543 21
54 321
5 4321
54321
편집 : 그냥 설명 :
가 나는 각 개체에 대한 스레드를 만드는 생각 프레임 워크를 사용, 나는 그것을 제어 할 수 없습니다. 모든 객체를 업데이트 함수라고 부르며 다중 스레드 코드에서 오류가 발생하면 일부 객체를 병렬 처리합니다. 스레드를 풀링하거나 업데이트 할 각 스레드에 대한 개체 수를 할당 할 수 있지만 과학적 방법으로이를 파악하는 방법을 제시 할 수 없다면 확신 할 수 없습니다.
몇 개의 스레드가 있습니까? –
대략 100, 스트레스 순간에 수천 자랄 수 있습니다. – Dani
정확성을 원하면 잠금 장치가 가장 쉽습니다. 경합에 대해 걱정하기 전에 먼저 시도하십시오. –