我有一个多线程 Java 控制台应用程序。其中一个线程正在读取用户的输入,而其他线程将一些数据打印到控制台。当用户键入输入时编写器线程打印某些内容时,就会出现问题。它打断了用户。
我在输出的开头写了“\r”以清除该行以获得更好的外观。但是,我还想将用户在那一刻之前输入的内容打印到下一行。
例如,我想输入 123456 作为输入。但是当我输入 123 时,
>123
作家线程打印“输出”。
>OUTPUT
>
我想显示我之前输入的内容(“123”),然后我将输入剩余的输入。
>OUTPUT
>123
有人建议我使用 jLine。但我无法实现。您能否通过提供 jLine 库的示例用法或建议替代解决方案来帮助我?
重要的是不要阻塞编写器线程。它必须在输出到达时打印输出。