LINUX.ORG.RU

Загрузка CPU при Asynchronous Mixins

 , ,


0

1

Здравствуйте!

Скопипастил Asynchronous Mixins, немного раздул код выборками с БД MySQL и ответами клиенту, но при тестировании заметил страшную нагрузку на CPU (100%), убрал коннекты - нагрузка осталась. Есть идеи?

...
class ThreadedTCPServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer):
    allow_reuse_address = True
    daemon_threads = True

if __name__ == "__main__":
    HOST, PORT = "0.0.0.0", 7778

    server = ThreadedTCPServer((HOST, PORT), ThreadedTCPRequestHandler)
    ip, port = server.server_address 
    print "Listen server at %s:%s " % (ip, port) 
     server_thread = threading.Thread(target=server.serve_forever)
    server_thread.daemon = True
    server_thread.start()

    print "Server loop running in thread:", server_thread.name
    while server_thread.daemon == True:
        (newsocket, clientaddr) = server.accept() 
        pass
    server.serve_forever()

Ответ на: комментарий от anonymous

Тобишь ?

 daemon

    A boolean value indicating whether this thread is a daemon thread (True) or not (False). This must be set before start() is called, otherwise RuntimeError is raised. Its initial value is inherited from the creating thread; the main thread is not a daemon thread and therefore all threads created in the main thread default to daemon = False.

    The entire Python program exits when no alive non-daemon threads are left.
Journalist ()
Ответ на: комментарий от Journalist

Thread.daemon устанавливается до запуска и не меняет своего значения даже после смерти. Поэтому проверка бессмыслена.

true_admin ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.