【问题标题】:Thread null-pointer exception Java netbeans线程空指针异常 Java netbeans
【发布时间】:2016-06-02 20:14:06
【问题描述】:

我正在尝试在 Java 中打开一个线程,但由于某种原因,我每次都会遇到异常。我的语法:

Thread receiveThread2;
receiveThread2 = new Thread(() -> {
    try {
        receiveMessageNoLoop();
    }
    catch (IOException ex) {
        Logger.getLogger(ModelClient.class.getName()).log(Level.SEVERE, null, ex);
    }
});    
receiveThread2.start();

我的函数receiveMessageNOLoop()在同一个Java类中:

public void receiveMessageNoLoop() throws IOException {
    String stringData;
    inFromServer.read(dataForLoop2, 0, 1024);
    takeCareOfJason(dataForLoop2);
}

如果我在没有线程的情况下这样做,它会完美运行。问题是,我必须使用线程,并且由于某种原因它给了我 nullPointerException。

【问题讨论】:

  • 你说你每次都会遇到异常。答案可能在异常堆栈跟踪中。堆栈跟踪将准确告诉您它是从程序的哪一行抛出的。

标签: java multithreading syntax java-threads


【解决方案1】:

先尝试将recieveThread2设置为null。

    Thread recievThread2 = null;

但我建议使用执行器服务来启动你的线程

    ExecutorService executorService = Executors.newSingleThreadExecutor();
    executorService.execute(() -> {/*Your code*/});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    相关资源
    最近更新 更多