我使用双线程分离了输出和输入,但这导致了在输入过程中,正在键入的内容会跟输出的内容混杂在一起
并且光标移动也十分影响输入命令,有没有什么方法可以实现将输入与输出互不干扰完全分离?比如将输入控制类似“置顶”一样放在命令行界面最顶(或最底下),同时输出内容不会输出在输入的那一行?
如
界面1如下
[输出 1]abcde
[输出 2]abcd
:123456
(不回车)
界面2
[输出1]abcde
[输出2]abc
[输出3]abcdefg
:123456
相当于
在输出2 与输入行 中间插入一条输出3
可以实现这样的吗?
还是学生吧?给你几种提示:1、分离程序,一个只接受输入,另一个只负责输出,考虑好两个程序的中介,可以file、可以是socket、可以是mq;
2、输出规则改变,比如规划console的界面,左侧用于使用,右侧用于输出,只需要在输出前固定好一定的标识字符即可。
3、将控制台输出,改为文件输出,输出到自定义文件,然后展示文件即可。
可以实现,你需要使用生产者消费者模式,使用kafka即可