【发布时间】:2017-06-19 09:24:20
【问题描述】:
我正在尝试使用 Java 线程,我正在尝试使用线程来通过另一个类中的线程更改我的类中名为 number 的一些变量。
但显然它不起作用,我总是从我开始价值时得到 0,也许有人可以告诉我原因。
这是我的第一堂课:
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();
}
}
}
【问题讨论】:
-
在启动线程后立即加入线程毫无意义...好吧,也许它会帮助您学习一些关于线程的知识,但它永远不会有意义在真正的程序中做到这一点。
标签: java multithreading variables