다음은 표준 스레딩 모델로 다음을 사용하는 경향이 있지만 그다지 훌륭한 모델은 아닙니다. 사람들이 가지고있는 또 다른 제안이나 이것이 잘 설정되어 있다고 생각합니까? 이것은 고성능 인터넷 서버를위한 것이 아닙니다. 성능은 때로는 매우 중요합니다. 비동기 네트워킹 방법을 사용하고 버퍼를 재사용하는 경우에도 동일한 모델입니다.스레딩 : 네트워킹 스레드, GUI 스레드, 백엔드 스레드 포스트 오피스 중개 클래스 좋은 설정?
gui를 실행하는 GUI 스레드가 있습니다.
계산 집약적 인 모든 것을 처리하는 백엔드 스레드가 있습니다. (기본적으로 gui는 실행하기가 쉽지 않습니다.) 또한 수신 메시지 또는 GUI 작업에 대한 구문 분석 및 처리를 담당합니다.
필요하다면 발신 전송을 여러 개의 소켓으로 분리하고 여러 소켓에서 패킷을 수신하여 메시지로 다시 어셈블하는 하나 이상의 네트워킹 스레드가 있습니다.
네트워킹 및 백엔드 스레드 간의 중재 역할을하는 중간 정적 클래스가 있습니다. 우체국 역할을합니다. 밖으로 나가야하는 메시지는 백엔드 스레드에 의해 게시되고 네트워킹 스레드는이 클래스의 "보낼 편지함"을 검사하여이 클래스에있는 정적 "받은 편지함"에 들어오는 모든 메시지를 보내고 게시합니다 (도착한 소켓에 관계없이). from, 해당 정보가 들어오는 메시지와 함께 게시 되더라도) 백엔드 스레드가 작동해야하는 다른 시스템의 메시지를 찾기 위해 검사합니다.
GUI/백엔드 스레딩 인터페이스는보다 특수한 경향이 있으며 클래스 또는 대체 중개자와 같은 자체 포스트 오피스가 있어야합니다.
이 스레딩 설정에 대한 의견이나 제안이 있으십니까?