я могу запустить два класса в одном коде Python, используя потоки Python? - PullRequest
0 голосов
/ 12 марта 2019

Я пробую этот код для понимания потоков в Python, но я запускаю этот код, он всегда показывает только детали потока 1. Зачем ? как я это исправлю

услышать код

import threading
import time

class app1(threading.Thread):
    def server1():
        for i in range(100):
            print ("thread 1")
            time.sleep(1)

class app2(threading.Thread):
    def server2():
        for i in range(100):
            print ("thread 2")
            time.sleep(1)

t1 = app1.server1()
t2 = app2.server2()

t1.start()
t2.start()

1 Ответ

0 голосов
/ 12 марта 2019

Вы можете сделать это, но, к сожалению, вы используете потоки неправильно.Эта версия будет работать.

import threading
import time

class app1(threading.Thread):
    def run(self):
        for i in range(100):
            print ("thread 1")
            time.sleep(1)

class app2(threading.Thread):
    def run(self):
        for i in range(100):
            print ("thread 2")
            time.sleep(1)

t1 = app1()
t2 = app2()

t1.start()
t2.start()

Я рекомендую вам следующие уроки по многопоточности Python, например: https://www.tutorialspoint.com/python3/python_multithreading.htm и прочитать документы: https://docs.python.org/3/library/threading.html#module-threading

...