Java-url.openStream无法使用多线程

Java-url.openStream无法使用多线程,java,Java,当我试图从url读取json文本时,这是一个明显的问题。我在URLReader的main函数中进行了测试,它返回的文本很好。但是,当我在线程中调用类外的方法时,IDE没有报告任何异常s或消息,直到我追溯到URLReader public static String loadText(String path) throws Exception { URL url = new URL(path); try (BufferedReader in = new BufferedRead

当我试图从url读取
json文本时,这是一个明显的问题。我在
URLReader
main
函数中进行了测试,它返回的文本很好。但是,当我在线程中调用类外的方法时,IDE没有报告任何
异常
s或消息,直到我追溯到
URLReader

public static String loadText(String path) throws Exception {

    URL url = new URL(path);

    try (BufferedReader in = new BufferedReader(
    new InputStreamReader(url.openStream()))) { /* <--- where it goes wrong */
        String inputLine;
        String lines = "";
        while ((inputLine = in.readLine()) != null) {
            lines += inputLine;
        } return lines;
    } 
}
-----------------------------------这里有一些代码---------------------------------------

该线程看起来像:

Thread t = new Thread(new Runnable(){
    public void run() {
        try { Update.updateRecord(); }
        catch (Exception e) {}
    }
}); 

t.start();
可能是什么问题


编辑:

如前所述,我有几个线程以及
线程t
。当我离开时,
t.start()单独运行时,它可以完美地工作,但不能与其他线程一起工作

Thread t1, t2, t;

/* defined runnable() here */
t1.start(); t2.start(); t.start(); // <--- went wrong

t.start(); // <--- perfectly
螺纹t1、t2、t;
/*此处定义了runnable()*/

t1.start();t2.start();t、 start();// 显式问题是由一行
System.exit(0)引起的来自另一个线程


解释了如何退出线程,否则,
exit(0)
将中断进程,而不仅仅是线程。

我不知道这是否与您的问题有关,但在
Runnable
中,您捕获了一个异常,没有对其进行任何处理。我没有看到对
loadText()的任何调用
在class
Update
@ortis
Ticker.last()
中根据json文本返回一个
双精度值。我在这里不能太明确。@knh170您需要向我们展示
API.Ticker.last()
@manouti的代码。我有几个与
Thread t
并行的线程调用。当我注释行
t1.start()时;t2.start()和离开
t.start(),工作顺利。
Thread t1, t2, t;

/* defined runnable() here */
t1.start(); t2.start(); t.start(); // <--- went wrong

t.start(); // <--- perfectly