Почему мои темы спят, когда я специально заставляю их работать - PullRequest
1 голос
/ 14 марта 2019

Я учусь нитью один из моих скриптов, и у меня есть вопрос. У меня есть три класса, которые делают свое дело:

class odd(object):
    def count():
        num = 1
        while True:
            num += 2

class even(object):
    def count():
        num = 0
        while True:
            num += 2

class singles(object):
    def count():
        num = 0
        while True:
            num +=1

И мой главный запускает три темы:

if __name__ == '__main__':

    print('Starting...')
    t1 = Thread(name='thread1', target=even.count)
    t2 = Thread(name='thread2', target=odd.count)
    t3 = Thread(name='thread3', target=singles.count)

    t1.start()
    t2.start()
    t3.start()
    while True:
       pass

Однако, когда я делаю top -H -p <pid> для просмотра потоков, порожденных моим процессом python, я вижу всего 4 потока, 1 работает и 3 спит. Я ожидал увидеть 3 всего потока и 3 работающих. Может кто-нибудь объяснить мне, что происходит? Откуда идет четвертая нить? Почему не все мои темы запущены?

...