Входы в разных потоках, которые не прерывают друг друга - PullRequest
0 голосов
/ 08 мая 2020

Ничего серьезного, просто простой пример Python:

import threading


def t1():

    print(f'in thread2 %s\n' % input("\n t1 "))

def t2():

    print('in thread1 %s \n' % input("\n t2 "))



def main():

    t_2 = threading.Thread(target=t1)
    t_2.daemon = True
    t_2.start()

    t_1 = threading.Thread(target=t2)
    t_1.daemon = True
    t_1.start()


main()

А теперь вывод

>>> 
 t1                               # this line was skipped, and it moved on to t2
 t2 data2                         # then i entered value for t2
data1                             # and only then it asked for t1
in thread2 data2
in thread1 data1 

Я понимаю, почему он обрабатывается таким образом. Я не могу просто получить две строки ввода одновременно, используя многопоточную архитектуру.


ВОПРОС : Как я могу получить два входа одновременно, которые не прерывают друг друга?


Обратите внимание, что я предпочитаю не открывать две отдельные консоли windows.

Заранее спасибо!

...