Java 仅在线程完成后继续

Java 仅在线程完成后继续,java,Java,我在匿名类中创建了新线程。如何暂停程序直到线程完成。 为了检查一切正常,我创建了一个while循环,这个循环不会继续,但我知道这不是解决方案。 我寻找最简单的解决办法 public void methodName() { Thread t = new Thread() { public void run() { } } t.start() System.out.print("Finish"); } 我只想在线程完成后再打印 在

我在匿名类中创建了新线程。如何暂停程序直到线程完成。 为了检查一切正常,我创建了一个while循环,这个循环不会继续,但我知道这不是解决方案。 我寻找最简单的解决办法

 public void methodName() {
    Thread t = new Thread() {
        public void run() {
        }
    }
    t.start()
    System.out.print("Finish");
} 
我只想在线程完成后再打印

在线程中,我使用一个外部库。我发现线程完成了,但是我在线程中运行的函数没有完成。它们是一种类似于锁定或同步的方式,通知我可以停止运行,直到该函数完成

我可以在函数运行完成时将变量放在适当的位置

     ParseQuery<ParseObject> query = ParseQuery.getQuery("GameScore");
     query.getInBackground("xWMyZ4YEGZ", new GetCallback<ParseObject>() {
     public void done(ParseObject object, ParseException e) {
          if (e == null) {
           // object will be your game score
          } else {
          // something went wrong
           }
       }
       });
ParseQuery query=ParseQuery.getQuery(“游戏分数”);
getInBackground(“xWMyZ4YEGZ”,newgetcallback()){
公共无效完成(ParseObject对象,parsee异常){
如果(e==null){
//对象将是您的游戏分数
}否则{
//出了点问题
}
}
});
这是来自API的。我想把这段代码放在线程中,只在调用完done函数后继续。 谢谢,

只需访问线程:

t.start();
t.join();
System.out.print("Finish");

join
调用在返回之前等待线程终止。

强制Javadoc链接:关于您的编辑:您确定吗?线程在其run()方法完成之前不会完成。@Zenadix是的,线程运行的函数也是线程(这是在api中编写的函数,但代码已编译,我可以看到)。线程似乎已完成,但函数未完成以运行。我有另一个方法,当这个函数完成时调用。所以我可以把他们的一个对象,也许如果你发布代码,我可以帮助你。@Zenadix在EDIT2Okay中输入代码。如果您正在调用query.getInBackground(),这意味着您希望在后台运行查询。这就是它启动新线程并立即返回的原因。如果您想一直等到查询完成,那么应该使用另一个方法(我猜是query.get())在同一个线程中运行查询,并仅在查询完成时返回。