Я собираюсь запустить код для автоматического сохранения игры каждые X минут, но у него также есть поток, принимающий ввод с клавиатуры. Вот пример кода, который я пытаюсь запустить одновременно, но кажется, что они запускаются один за другим. Как я могу заставить их работать одновременно?
import time
import threading
def countdown(length,delay):
length += 1
while length > 0:
time.sleep(delay)
length -= 1
print(length, end=" ")
countdown_thread = threading.Thread(target=countdown(3,2)).start()
countdown_thread2 = threading.Thread(target=countdown(3,1)).start()
Обновление: не совсем уверен, в чем разница Python между процессом и потоком (будет ли процесс отображаться как второй процесс в Windows?). Но вот мой обновленный код. Он по-прежнему выполняется последовательно, а не одновременно.
import time
from threading import Thread
from multiprocessing import Process
def countdown(length,delay):
length += 1
while length > 0:
time.sleep(delay)
length -= 1
print(length, end=" ")
p1 = Process(target=countdown(5,0.3))
print ("")
p2 = Process(target=countdown(10,0.1))
print ("")
Thread(target=countdown(5,0.3))
print ("")
Thread(target=countdown(10,0.1))