私はJavaスレッドで少し実験していますが、別のクラスのスレッドで私のクラスのnumber
という変数を変更しようとしています。
しかし明らかにそれは機能しません、私はいつも私が自分の価値を始めたときから0を得ました、誰かが私に理由を教えるかもしれません。Javaスレッドが機能しない
これが私の最初のクラスです:
Threadの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++;
}
}
そして、私の第二のクラス:
public class ThreadClassPlus extends ThreadTest implements Runnable
{
public void run()
{
for(int i = 0; i < 10000; i++)
{
add();
}
}
}
スレッドを開始した直後にスレッドに参加するのは決して意味がありません。それはスレッドに関する何かを知るのに役立つかもしれませんが、実際のプログラムでこれを行うのは決して意味がありません。 –