2016-06-02 14 views
-1

Ich versuche, einen Thread in Java zu öffnen, aber aus irgendeinem Grund bekomme ich jedes Mal eine Ausnahme. meine Syntax:Thread Nullzeiger Ausnahme Java Netbeans

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

Meine Funktion receiveMessageNOLoop() ist in der gleichen Java-Klasse:

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

Wenn ich das tun ohne Gewinde, es funktioniert perfekt. Problem ist, ich muss thread verwenden und aus irgendeinem Grund gibt es mir nullPointerException.

+0

Sie sagen, Sie eine Ausnahme jedes Mal bekommen zu starten. Die Antwort liegt wahrscheinlich in der Ausnahme-Stack-Ablaufverfolgung. Der Stack-Trace wird Ihnen genau sagen, aus welcher Zeile Ihres Programms er geworfen wurde. –

Antwort

0

Versuchen Sie, recieveThread2 zuerst auf null zu setzen.

Thread recievThread2 = null; 

Aber ich würde empfehlen, den Executor-Dienst Threads

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