#python #multithreading #python-multiprocessing
#питон #многопоточность #python-многопроцессорная обработка
Вопрос:
Поэтому все, что я хочу сделать, это чтобы моя программа на python выполняла несколько операторов одновременно. У меня есть простое циклическое заявление, в котором пользователь ищет, чтобы перейти на определенный веб-сайт. Как только они это сделают, у меня будет оператор if, внутри которого есть несколько вложенных операторов.
def Mbox(title, text, style): return ctypes.windll.user32.MessageBoxW(0, text, title, style) U = 0 while U lt; 1: f = Chrome() outputs = f.fetch_history() string1 = str(outputs.histories) count = 0 file1 = open("strings.txt", "r") readfile = file1.read() readfile = str(readfile) readfile = readfile.strip() read = readfile.split() K = [] for i in read: if i in string1: count = count 1 if count gt;= 1: Mbox("you're beat", 0) devices = AudioUtilities.GetSpeakers() interface = devices.Activate( IAudioEndpointVolume._iid_, CLSCTX_ALL, None) volume = cast(interface, POINTER(IAudioEndpointVolume)) volume.SetMasterVolumeLevel(-1.0, None) playsound('alarm.wav') else: print("NAH FAM") string1 = []w file1.close()
Проблема возникает, когда количество больше единицы. Все это должно происходить одновременно, но происходит то, что все это происходит по одному, что имеет смысл. Я понятия не имею, как сделать так, чтобы все это происходило одновременно, может быть, с помощью резьбы? Например, Playsound занимает время файла (например, 30 секунд) и не будет выполнять никаких дальнейших команд, пока файл не будет запущен. Я надеюсь, что все это имеет смысл.
Комментарии:
1. Посмотрите на многопоточность или многопроцессорность для решения.