我正在运行一些在 swingworker 中进行打印输出的代码。我没有得到打印输出,所以我使用了 SwingUtilities.invokeLater,现在它可以工作了。我没想到会是这样的结果,这是怎么发生的呢?我本以为 System.out.println
可以在 EDT 之外运行。
最佳答案
这将非常容易测试(更不用说,即使输入所有代码来测试它也比在此处发布它要少的工作):
import java.awt.EventQueue;
public class HelloWorld {
public static void main( String[] args ) {
System.out.println("Hello world");
System.out.println( EventQueue.isDispatchThread());
}
}
结果
Hello world
false
在控制台上。
所以是的,System.out.println
可以在 EDT 之外使用
关于java - system.out.println 必须在 edt 上吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11252388/