java - 在控制台管理多个线程

标签 java multithreading eclipse debugging console

当我运行多个线程时,我迷失在 System.out.println 输出中,因为我想每个线程都必须在不同的控制台中。

有没有使用 Eclipse 管理它的简单方法?

编辑: 问题是不知道哪个消息属于每个线程。确切的问题是当调用新线程时控制台停止打印,log4j 也会发生同样的情况。

最佳答案

我建议您切换到比 System.out.println 更好的日志记录工具,log4j是一种流行的选择。

如果您不想为此目的包含另一个库,我建议您

  • 为所有线程赋予有意义的名称(参见Thread.setName)
  • 将日志语句包装在您自己的静态日志记录函数中
  • 在每行输出前加上 Thread.currentThread().getName() 前缀。

如果您认为这太“侵入性”或者如果您正在处理遗留代码,您可以创建自己的 PrintStream 将每个参数作为前缀添加到 println 当前线程名称(如上所述),然后执行 System.setOut(new YourThreadLoggingPrintStream());

关于java - 在控制台管理多个线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7108371/

相关文章:

java - 服务器应用程序 : Only works with a println output

java - 可执行 jar 找不到属性文件

android - 检索项目 : No resource found that matches the given name 'Theme.AppCompat.Light' 的父级时出错

java - 在 Java 中使用 quartz 进行作业链接

Linux机器中的Java进程InputStream

java - 即使在其他线程中启动,帧也会卡住

linux - 像 'core local storage' 这样的东西可能吗?

java - 我的 if 语句每次都返回错误的值,是我的数组吗?

java - Espresso 测试android中的多场比赛

java - 它说 2 个分支中的 1 个在 Java 中丢失