chewarer
@chewarer

Как узнать число запущенных потоков?

У меня сокет-сервер работает на тредах. Каждый клиент подключается в отдельном потоке и по плану держит соединение, пока не случится глюк - ошибка, разрыв связи. Подключено одновременно сотни клиентов, в перспективе тысячи. Связь с ними не очень активная, 2-4 запроса в минуту
У меня возникли сомнения по поводу уместности Thread для этой задачи. Есть сомнения что все потоки корректно закрываются.

Хочу узнать количество открытых потоков. Как это правильно сделать?
Выводить thread._count() в основном потоке? Правильно ли он считает реальное число потоков, или не учитывает "подвисшие" потоки?
  • Вопрос задан
  • 1406 просмотров
Решения вопроса 1
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Нет, это не очень хорошо. Вам желательно использовать легкие (green) треды и/или event pool. Иначе, при большом количестве клиентов уткнетесь в ограничения по количеству тредов.
Посмотрите на асинхронные библиотеки типа aiohttp или twisted cyclone.io.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы