Мой основной вопрос: как мне определить, является ли текущий поток фиктивным?Я новичок в многопоточности, и недавно я отлаживал некоторый код в своем приложении Apache2 / Flask и подумал, что это может быть полезно.Я получаю ошибку переворачивания, когда запрос был успешно обработан в основном потоке, безуспешно в фиктивном потоке, а затем снова успешно в основном потоке и т. Д.
Как я уже говорил, я использую Apache2 и Flask, которыеКажется, сочетание которых создает эти фиктивные темы.Мне также было бы интересно узнать больше об этом, если кто-нибудь может научить меня.
Мой код предназначен для печати информации о потоках, запущенных в службе, и выглядит примерно так:
def allthr_info(self):
"""Returns info in JSON form of all threads."""
all_thread_infos = Queue()
for thread_x in threading.enumerate():
if thread_x is threading.current_thread() or thread_x is threading.main_thread():
continue
info = self._thr_info(thread_x)
all_thread_infos.put(info)
return list(all_thread_infos.queue)
def _thr_info(self, thr):
"""Consolidation of the thread info that can be obtained from threading module."""
thread_info = {}
try:
thread_info = {
'name': thr.getName(),
'ident': thr.ident,
'daemon': thr.daemon,
'is_alive': thr.is_alive(),
}
except Exception as e:
LOGGER.error(e)
return thread_info