2016-06-02 6 views
-1

Я пытаюсь открыть поток на Java, но по какой-то причине я получаю исключение каждый раз. мой синтаксис:Thread null-pointer exception Java netbeans

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); 
} 

Если бы я сделать это без резьбы, она прекрасно работает. проблема в том, что я должен использовать thread и по какой-то причине он дает мне nullPointerException.

+0

Вы говорите, что вы получите исключение каждый раз. Ответ, вероятно, находится в трассе стека исключений. Трассировка стека скажет вам, в какой строке вашей программы она была выбрана. –

ответ

0

Попробуйте установить recieveThread2 в нулевое значение.

Thread recievThread2 = null; 

Но я бы рекомендовал использовать службу исполнителя, чтобы начать свои темы

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