Клиент python фактически не запускает нити, поэтому вам нужно вызвать функцию цикла для обработки сетевых событий.
В Java вы должны использовать обратный вызов onMessage для включения входящего сообщения в локальную очередь, с которой будет работать отдельный пул потоков.
Python не имеет встроенной поддержки потоковой передачи, но имеет поддержку процессов нереста, которые действуют как потоки. Подробная информация о многопроцессорной можно найти здесь:
https://docs.python.org/2.7/library/multiprocessing.html
EDIT: На приглядевшись в коде ПОЗ питона немного ближе кажется, что на самом деле может начать новую нить (с помощью функции loop_start()) для обработки сетевой стороны вещей, ранее требующих функции цикла. Это не изменяет тот факт, что все вызовы обратного вызова on_message будут выполняться в этом потоке. Если вам нужно делать большие объемы работы в этом обратном вызове, вам обязательно нужно посмотреть пул новых потоков для выполнения этой работы.
http://www.tutorialspoint.com/python/python_multithreading.htm
вы рекомендуете мне резьб или асинхронные (как витые), если мне нужно сделать тяжелую обработку сообщения? – user3684457
Если обработка сообщения может занять меньше, чем разрыв между сообщениями, вы должны смотреть на несколько потоков. Но помните, что это может произойти только в очередях, иначе вы просто получите сообщения, ожидающие в локальной очереди или все большее число потоков. – hardillb
Есть ли способ улучшить работу python с потоками? Есть ли предел, который я должен рассмотреть (не более того x потоков одновременно?)? – user3684457