线程空指针异常Java netbeans

时间:2016-06-02 20:14:06

标签: java multithreading syntax java-threads

我试图用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。

1 个答案:

答案 0 :(得分:0)

首先尝试将recieveThread2设置为null。

    Thread recievThread2 = null;

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

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