내 소프트웨어는 몇백 개의 하드웨어 장치를 시뮬레이트합니다. 각 하드웨어 장치는 데이터베이스 서버에 수천 개의 보고서를 보냅니다.스레드에서 주 프로그램으로 피드백
스레딩을 사용하지 않고 시도해도 좋은 결과는 없었으므로 이제는 스레드 할 시간입니다.
d/b 서버를로드 테스트 중이므로 일부 트랜잭션은 성공하고 일부 트랜잭션은 실패 할 수 있습니다. 주 프로그램의 GUI는이를 반영해야합니다. 스레드가 결과를 메인 프로그램으로 어떻게 다시 전달해야합니까? 전역 변수를 업데이트 하시겠습니까? 메세지를 보내다? 아니면 뭔가?
이제 각 스레드의 끝에서만 업데이트하면 GUI가 다소 지루 해 보일 것입니다. (프로그램이 멈췄는지 알 수 없습니다). GUI를 주기적으로 업데이트하는 것이 좋습니다. 하지만 그 스레드는 다른 스레드가 업데이트되기를 기다리는 경합을 일으킬 수 있습니다 (예를 들어 전역 변수에 쓰는 경우 쓰기를 기다리는 각 스레드를 차단하는 뮤텍스가 필요합니다).
나는 스레딩을 처음 사용합니다. 이것이 정상적으로 어떻게 이루어 집니까? 아마도 주 프로그램이 스레드 대신 주 스레드를 폴링 할 수 있습니까?
+1 유용한 정보를 제공해 주셔서 감사합니다. 내가 동시에 실행할 수있는 스레드를 어떻게 알 수 있습니까? 그리고 너는 무엇을 추천하니? 아마도 각 장치마다 총 장치 수 또는 장치 당 하나의 PC가 아닌 X 장치를 시뮬레이션하고 Y PC를 사용하게하십시오. 이런 종류의 것을 테스트하는 가장 좋은 방법은? – Mawg