以下代码段:
private class ConnectionControl implements Runnable
{
public void run()
{
while( true )
{
if( !cnnct.isInMsgEmpty() )
System.out.println( "Incoming message: " + cnnct.getInMsg().getPayloadString() ) ;
}
}
}
当我在 Eclipse 调试器中运行它并在 System.out 行放置一个断点时可以工作。但是,如果我正常运行它,我不会得到“传入消息...”输出。
关于为什么会这样或者如何调试它有什么想法吗???
<小时/>啊,明白了...在两个线程使用相同资源的情况下发生了死锁情况。谢谢大家的帮助!
干杯!
最佳答案
有多种方法可以调用 Java 代码,具体取决于您需要的位置。
您所展示的内容不足以独立,如果您尝试将其作为小程序或java应用程序(java .... ConnectionControl)调用,则会导致错误。 Eclipse 可能可以调用 Runnable - 不过我还没有看到。
尝试
- 公开类(class)
- 添加静态 main 方法,使其成为 Java 应用程序
- 在主方法的开头放置一条消息,以便您可以看到它被调用
关于java - 程序可以在 Eclipse 调试器中运行,但不能在其他地方运行...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5691652/