chewarer
@chewarer

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

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

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

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

Похожие вопросы