Member 12679326 Ответов: 1

Будет ли оператор IF или многопроцессорная обработка правильными для использования в этом случае?


addNewGreeting():
        protocol = input()
        protocol = protocol.upper()
        protocol1_list = ["PROTOCOL 1", "PROTOCOL ONE", "INITIATE NEW GREETING" ]
        for i in protocol1_list:
            if i in protocol:
                rest of function

 def removeOldGreeting():
        protocol = input("")
        protocol = protocol.upper()
        protocol2_list = ["PROTOCOL 2", "PROTOCOL TWO", "INITIATE DELETE GREETING"]
        for i in protocol2_list:
            if i in protocol:
                rest of function


Как бы я заставил эти две функции работать вместе, ждать ввода, и когда вводится ввод из одного из списков одной из функций, выполняется только эта функция, а другая останавливается?

Я читал о многопроцессорной обработке и использовал оператор if глобально, но я понял, что будет много elif, потому что я хочу проверить десятки, если не сотни функций. Мне просто было бы легче читать, если бы это было в функции, но опять же, на компьютере может быть трудно запустить столько функций одновременно. Извините, если это трудно понять, я не очень хорошо объясняю вещи.

Что я уже пробовал:

Я пытался использовать операторы if вне функций, но обнаружил, что должно быть несколько elif.

1 Ответов

Рейтинг:
0

VISWESWARAN1998

Я не понимаю, что ты на самом деле хочешь сделать. Но сформируйте эти строки сказанные вами ,

"How would I make these two functions run together"
Я понимаю, что вы готовы реализовать потоковую обработку в своем приложении.

Вот как вы реализуете поток для двух функций и заставите эти две функции работать вместе.[Пример]

#Python version 3.5.2
from threading import Thread

def function1():
    for i in range(100):
        print("Function 1 is executing")

def function2():
    for i in range(100):
        print("Function 2 is executing")

t = Thread(target=function1)
t.start()
t1 = Thread(target=function2)
t1.start()


и выход будет такой
Function 2 is executingFunction 1 is executing

Function 2 is executingFunction 1 is executing

.
.
.

Function 2 is executingFunction 1 is executing


ЗАПИСКА: Многопоточность удовлетворяет ваши потребности, но многопоточность полностью отличается от многопоточности. Это потоковое приложение (показанное в приведенном выше примере) одновременно выполняет только одну задачу. Это ваш процессор, который выделяет время для того, чтобы оба потока работали вместе. В определенный момент времени будет выполняться только один поток. Похоже, что ваша программа выполняет несколько задач одновременно, но это не так.