J'expérimente un peu avec des Threads Java et j'essaie d'utiliser un Thread pour changer une variable appelée number
dans ma classe par un Thread dans une autre classe.
Mais apparemment, ça ne marche pas, je reçois toujours le 0 à partir du moment où j'ai commencé ma valeur, peut-être que quelqu'un pourrait me dire pourquoi.Java Thread ne fonctionne pas
Ceci est ma première classe:
public class ThreadTest {
public int number = 0;
public static void main(String[] args) {
ThreadTest Adding = new ThreadTest();
Adding.addingOnes();
System.out.println(Adding.number);
}
public void addingOnes() {
Runnable thread1 = new ThreadClassPlus();
Thread t1 = new Thread(thread1);
t1.start();
try {
t1.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public void add() {
number++;
}
}
Et ma deuxième classe pour la discussion:
public class ThreadClassPlus extends ThreadTest implements Runnable
{
public void run()
{
for(int i = 0; i < 10000; i++)
{
add();
}
}
}
Cela n'a jamais de sens de rejoindre un thread immédiatement après le démarrage ... Ok, peut-être que cela vous aidera à apprendre quelque chose sur les threads, mais cela n'aurait jamais de sens de le faire dans un vrai programme. –