Чисто выглядящий asyn c IO из нескольких потоков на консоль - PullRequest
0 голосов
/ 17 апреля 2020

У меня большой опыт работы с C, C ++ и подобными языками, однако недавно я начал изучать python.

Однако у меня есть некоторые проблемы, связанные с IO с консоль . В моем текущем приложении у меня есть несколько ayn c рабочих потоков, которые управляются основным потоком.

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

На мой взгляд, лучший способ визуализировать это с помощью gif :

https://gyazo.com/b49e7490f964d7a33de4e74198d14f79

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

Я пытался переписать существующие строки в консоли, а также перезаписывать строки, но не был возможность получить тот же эффект, работая с разными потоками asyn c, выводящими одновременно.

У кого-нибудь из вас есть какие-либо мысли по поводу этого?

...