如何创建一个函数或组件等来停止所有正在运行的代码,直到满足条件?停止代码,直到满足条件为止
例如方式为JOptionPane中同样会做的,如果我有这样的例子:
JOptionPane.showInputDialog(null, "Hello", "Title", 1);
在函数等等,然后打印到控制台之后它也不会打印,直到我关闭的JOptionPane 。
我猜这个组件有一些内置的线程设置来做到这一点,但我怎么能用我自己的功能复制?
所以说例如我想让JFrames延迟一切,直到它被关闭,所以它就像一个JOptionPane。
或者例如有过这得到了更新多个输入的功能,里面做了一些数学与那些,如果它是一个特定的值返回一个布尔值,但随后一切,但那些被暂停,直到返回True布尔。
我猜测解决方案是某种线程设置,但我对Java很新,当我在过去编码时,我没有真正使用线程,所以我无法创建一个良好的停止/启动/暂停运行风格功能系统。
有没有人有任何建议如何实现这个或更好的代码示例显示这种类型的东西工作?
'等待()'应始终在循环中调用,由Javadoc中说明。 – lhballoti
这看起来像我需要的东西的类型,但我不能让你的代码工作出于某种原因。你能否更新它来显示一个非常基本的条件和结果? – zeddex
其实它正在工作,我只需要在条件中包装unlockWaiter()。工作测试我所做的就是\t \t \t \t //做你看中的计算 \t \t \t \t INT V = 0; \t \t \t \t int go = 1; \t \t \t \t做{ \t \t \t \t \t //旧位置 \t \t \t \t \t \t V = V + 1; \t \t \t \t \t \t System.out.println(“Looping”+ v); \t \t \t \t \t \t //如果更新 \t \t \t \t \t如果(V == 1200){ \t \t \t \t \t \t GO = 0; \t \t \t \t \t \t unlockWaiter(); \t \t \t \t \t} \t \t \t}而(去== 1); – zeddex