Время питона.sleep () не работает в linux и multi thread
Я пишу простой многопроцессный и многопоточный код на python, который работает в windows, но не работает в linux (я тестировал его на freebsd и ubuntu)
import threading
import time
from multiprocessing import Process
class Test(threading.Thread):
def run(self):
print('before sleep')
time.sleep(1)
print('after sleep')
def run_test():
Test().start()
if __name__ == "__main__":
Process(target=run_test, args=()).start()
Эта программа печатает только "перед сном" и затем завершает работу.
Почему сон здесь не работает? (он работает на windows)
Обновление:
Я использовал join() в моем процессе, как это, но все еще не работает.
...
if __name__ == "__main__":
pr = Process(target=run_test, args=())
pr.start()
pr.join()