Как запустить функции параллельно, 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()
→ Ссылка