私はグーグル上を探してきましたが、これはうまくいかないようです。 私は2つの関数をスレッドしようとしていますが、どちらも無限ループです。Pythonスレッドがスレッディングではありません
以下の抽出を見ると、1番目のスレッドだけが開始され、次の1番目のスレッドに進むことはありません。
PS:2つのスレッドを交換すると、2番目のスレッドで同じ問題が発生します。
def syslog_service():
syslog_server = socketserver.UDPServer((syslog_host,syslog_port), Syslog_Server)
syslog_server.serve_forever()
def cleanup_old_logs_service():
# lock = threading.Lock()
# threading.Thread.__init__(self)
global syslog_retention_hours
global RUNNING
while RUNNING:
# cleanup_old_logs_service.lock.acquire()
cleanup.old_logs(syslog_retention_hours)
# cleanup_old_logs_service.lock.release()
time.sleep(10)
if __name__ == "__main__":
try:
logger.info("Starting main thread")
config()
logger.info("Starting system testing")
test()
logger.info("Config loaded")
thread1 = cleanup_old_logs_service()
thread2 = syslog_service()
thread1.start()
logger.info("Syslog cleanup service running")
thread2.start()
logger.info("Syslog server running")
を持っているでしょう自動的にそれをスレッドにします。あなたは実際にここにスレッドを作っていません。 – user2357112