Я пишу приложение для Android, которое использует класс ServerSocket для создания сервера, который прослушивает определенный порт.В настоящее время у меня есть основной поток, который слушает запрос.Затем он выполняет следующие задачи для нового клиентского запроса
- Получить сокет и создать новый поток для обработки связи
- Теперь основной поток может обрабатывать больше клиентов, вновь созданный поток получает данные иУспешное закрытие сокета.
В соответствии с приведенным выше сценарием, если клиент хочет отправить несколько элементов данных, каждый раз, когда клиент подключается и отправляет байты, а затем сокет закрывается.Мой вопрос заключается в том, является ли это правильной многопоточной архитектурой для программирования сокетов, чтобы эффективно и оптимально обрабатывать запросы от нескольких клиентов.У меня есть только одна работа для увеличения производительности, которая заключается в использовании постоянного соединения (отправка нескольких элементов данных за один сеанс соединения)
Пожалуйста, внимательно ответьте на следующие вопросы
- Нужно ли мнеиспользовать службу вместо основного потока?
- Сколько многопоточных приложений Android может безопасно выполняться?
- Влияет ли быстрое создание / удаление каждого потока на производительность приложения?