Как запустить функции параллельно, Python?
import keyboard
import time as Time
import collections
import multiprocessing
name = "имя окна" # имя окна
buff_run = True
time = Time.time()
def screenShot():
i = 0
print("я работаю ")
while not(keyboard.is_pressed("A")):
i += 1
def time_buff():
global buff_run
global time
i = 0
while not(keyboard.is_pressed("ctrl")):
if (round(Time.time() - time)%60) == 0 or buff_run:
buff_run = False
print('BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFF')
def main():
#
# Тут что-то должно быть
#
#
if __name__ == "__main__":
main()
Ответы (1 шт):
Автор решения: Karapuz
→ Ссылка
Ошибка заключалась в том что при создании потока я объявлял его так : thread1 = Thread(target=screenShot()). Поэтому выполнялась функция а не создавался поток.
import threading
import keyboard
import time as Time
from threading import Thread
name = "имя окна" # имя окна
buff_run = True
time = Time.time()
def screenShot():
i = 0
while not(keyboard.is_pressed("ctrl")):
Time.sleep(1)
print("я работаю ")
#i += 1
def time_buff():
global buff_run
global time
i = 0
while not(keyboard.is_pressed("ctrl")):
Time.sleep(0.1)
if (round(Time.time() - time)%60) == 0 or buff_run: #конструкция работает
buff_run = False
print('BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFF')
def main():
#
# Тут что-то должно быть
#
#
thread1 = Thread(target=screenShot)
thread2 = Thread(target=time_buff)
thread1.start()
thread2.start()
thread1.join()
thread2.join()
if __name__ == "__main__":
main()