Ich habe folgenden Code-Block:Objekt nicht in einem Thread zu initialisieren
class ThreadTest implements Runnable{
private ClassTest c;
private int incoming_variable;
public ThreadTest(int x){
incoming_variable=x;
}
@Override
public void run(){
c=new ClassTest();
System.out.println("Object initialized");
{
//Do something with object//
}
}
}
public class MainTest{
public static void main(String[] args){
for (int i=0;i<10;i++){
ThreadTest pt=new ThreadTest(i);
Thread t = new Thread(pt);
t.start();
}
}
}
Im Wesentlichen, was passiert, ist, dass das Objekt c nie mit der threads.The Meldung „Objekt initialisiert“ initialisiert nie angezeigt wird, und nichts darüber hinaus Zeile ausgeführt. Die Objektinitialisierung funktioniert, wenn ich es innerhalb einer Funktion innerhalb der MainCode-Klasse implementieren..Ich bin ein wenig neu in Java und nicht sicher, warum ein Objekt nicht innerhalb eines Threads initialisiert wird.
Wie kann ich sicherstellen, dass der Thread auf die Initialisierung des Objekts wartet?
Es gibt einige Syntaxfehler in Ihrem Code – freedev
@freedev Was sind die Syntaxfehler? – user5347996
'private ClassTest;' hat keinen Variablennamen. Im Konstruktor 'ThreadTest (x)' gibt es keinen Typ für die 'x'-Variable, und wiederum macht 'x = incoming_variable' keinen Sinn. – freedev