저는 소켓 연결을 통해 PC와 통신 할 수있는 안드로이드 폰용 간단한 애플리케이션을 작성하고 있습니다.소켓을 통해 읽기/쓰기 할 때마다 새 스레드를 만들어야합니까?
전화는 언제든지 메시지를 쓰거나받을 수 있으며 컴퓨터도 마찬가지입니다. 내가 지금까지 사용한 이 솔루션은 다음과 같이 작동
Create a thread and call READ in it.
Run an infinte loop.
Check if thread has finished,
If so grab the READ and process,
Then start a new thread also calling read.
Check to see if another object working in another thread wants to write,
If so grab and write.
을 특히, 내가 스레드를 실행하는 안드로이드 API에서 AsyncTask를 사용하고 있습니다.
모두 잘 작동하지만 각 읽기에 대해 새 스레드를 작성하면 성능이 너무 높거나 코딩이 나쁜지 궁금합니다. 그렇다면 동일한 스레드가 동일한 동작을하도록 재사용하는 방법은 무엇입니까?
또는이 상황을 전반적으로 처리하는 더 좋은 방법이 있습니까?
미리 조언 해 주셔서 감사합니다.
얼마나 많은 연결을 동시에 볼 수 있습니까? – Gray
이 응용 프로그램에는 오직 하나의 클라이언트 만 있습니다. 응용 프로그램이 쓰기를 원할 때 READ가 차단되지 않도록 스레드를 사용합니다. – yellow