Java线程:如何使两个线程完全独立
我有一个jar格式的SWING应用程序,我从我的JAVA应用程序调用该SWING jar的主类,以便它们可以使用相同的JVM。
为Swing应用程序使用相同JVM的原因是我正在尝试自动化该应用程序并捕获我在相同JVM中调用它的swing组件。
对于运行该swing应用程序,我正在使用一个单独的线程,而我的主线程包含我的自动化代码。
一切正常但是一段时间后应用程序会生成一个JOption弹出窗口,它会挂起应用程序,直到选中一个选项。
问题是这个弹出窗口暂停/暂停完整的应用程序 - Swing App +我的应用程序,只有一个后台线程继续运行,不断检查用户输入
有没有办法创建一个完全不受其他线程影响的线程?
答案 0 :(得分:0)
我相信你主线程中的某个地方直接调用一个Swing组件,该组件会被阻塞直到被确认。
您需要将从主线程中调用的函数包装在其自己的Runnable中,并在新的Thread实例中执行它。