여러 클라이언트가 있고 단일 서버로 제어되는 클라이언트 - 서버 응용 프로그램을 수행하는 중 ... 여기에 모든 클라이언트의 화면 캡처 및 towords 서버 ... 보내기 그것은 멀티 스레딩이 필요합니다 .... 아무도 내 응용 프로그램에서 멀티 스레딩을 어떻게 사용할 수 있습니까?멀티 스레딩
멀티 스레딩
답변
당신은 incomming 연결을 처리하기위한 스레드 풀을 체크 아웃 할 수 있습니다 :
http://java.sun.com/docs/books/tutorial/essential/concurrency/pools.html
이 java.util.concurrent
읽기 최대 을 Runnable
인터페이스보다 더 나은입니다 Callable
인터페이스 특히 이전 버전의 Java에서는 call
메소드에서 값을 반환 할 수 있기 때문에 (run
met 벽돌 상자). 스레드 풀은 Executor
클래스에 의해 ExecutorServices
으로 생성되므로 스레드 수를 제한 할 수 있으므로 서버 측의로드가 제한됩니다. 물론 이것들에 대한 JavaDoc의 예제는 클라이언트로부터의 연결을 받아들이는 간단한 서버이므로 사용자의 상황에 적용 할 수 있습니다 (명확하게 설명하지는 않았지만).
그렇지 않으면 스레딩이 실제로 여기 게시물에서 대답 할 수없는 매우 큰 주제입니다. Java Threading에 대한 책을 구입할 수는 있지만 어느 것이 최상인지는 알 수 없습니다.
내가 자바 동시성에 대해 읽은 최고의 책은 Brian Goetz (http://jcip.net/)의 Java Concurrency in Practice입니다. –
설명했듯이 분명히 멀티 스레딩 문제는 아닙니다.
- 클라이언트 주도형 시나리오 (즉, 클라이언트가 화면을 보낼시기를 선택하는 경우)에서 서버의 메소드를 호출하도록 할 수 있습니다. 이 서버 기반 인 경우
- , 당신은 옵저버 패턴을 사용할 수
어느 쪽이든, 문제는 당신이 설명한대로, 당신이 멀티 스레딩을 피할 수있는 경우!
이상적으로는 웹 서버 또는 앱 서버를 사용하여 서버를 구현해야합니다.이 서버는 이미이를 처리합니다.
사용자 지정 서버 일 경우 이미 설명한 것처럼 스레드 풀을 체크 아웃해야합니다. 작업자 스레드가 수행하는 작업에 스레드 안전성이 필요하지 않은 (즉, 성능을 위해 단순한 동시 디스 패칭 이슈) 문제가없는 경우라면 충분합니다.
스레드 세이프 프로그래밍에 대한 충분한 지식이 필요하다면, 더 많은 연구를해야하고 책을 읽고, 이상적으로는 멘토링을 받아야합니다.
- 1. 멀티 스레딩 및 멀티 태스킹
- 2. iPhone : 멀티 태스킹, 멀티 스레딩?
- 3. 멀티 스레딩 vs 프로세스
- 4. NXT를 사용한 멀티 스레딩
- 5. Cherrypy 멀티 스레딩 예제
- 6. 멀티 스레딩 함수 호출
- 7. 다른 스크립트를 멀티 스레딩
- 8. Bash의 멀티 스레딩
- 9. 부스트 멀티 스레딩
- 10. 아이폰 네트워크 멀티 스레딩
- 11. webClient Bot - 멀티 스레딩
- 12. 멀티 스레딩 성능 문제
- 13. LINQ Changeset 멀티 스레딩
- 14. 자바 멀티 스레딩 문제
- 15. 멀티 스레딩 테스트
- 16. iPhone "멀티 스레딩"질문
- 17. 멀티 스레딩 캡처 비디오
- 18. PHP의 멀티 스레딩
- 19. 스프링 및 멀티 스레딩
- 20. Java의 멀티 스레딩
- 21. PHP에서 멀티 스레딩
- 22. 멀티 스레딩 문제
- 23. 멀티 스레딩 질문
- 24. 멀티 스레딩 솔루션
- 25. tcplistener를 사용하는 멀티 스레딩
- 26. 멀티 스레딩 쿼리
- 27. IE6에서 JavaScript 멀티 스레딩?
- 28. vb.net의 멀티 스레딩
- 29. Java의 멀티 스레딩
- 30. JavaFX 멀티 스레딩
이러한 응용 프로그램은 스윙 기반입니까? 어떤 종류의 의사 소통이 그들 사이에 있습니까? – akarnokd
정확히 어디에서 멀티 스레딩해야합니까? - 클라이언트에서 클라이언트가 이러한 이미지를 전송할뿐만 아니라 다른 기능도 가지고 있기 때문에 - 서버에서 멀티 스레딩이 이미지 수신 성능을 향상시킬 수 있다고 생각하기 때문에 - 서버에서 다시 서버가 제공하므로 일부 다른 기능성 GUI와 사용자 상호 작용이 있습니까? 스윙/SWT? – sebastiangeiger
나는 무례한 소리를 내고 싶지 않지만, 이와 같은 질문을하는 경우에는 서버 측 스레드 모델을 구현하는 사람이 아닙니다.스레드의 주제와 사용법은 단순 함과는 거리가 멀며 함정에 빠져 있습니다. 결코 예상대로 작동하지 않습니다. 이 문제와 다른 문제가 이미 해결 된 앱 서버를 직접 다운로드하고 다운로드하십시오. –