在我的程序中,我需要让多个线程使用和编辑同一个变量,但它似乎不起作用。这是我的意思的一个例子,这将是我的主要课程。
public class MainClass {
public static int number = 0;
public static String num = Integer.toString(number);
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Enter number of threads.");
int threads = in.nextInt();
for (int n = 1; n <= threads; n++) {
java.lang.Thread t = new Thread();
t.start();
}
}
}
这将是我的线程类:
public class Thread extends java.lang.Thread
{
public void run()
{
MainClass.number++;
System.out.println("Thread started");
System.out.println(MainClass.num);
}
}
这段代码是我现场写的,可能会有一些错误,不过没关系。我的程序基本上需要做这样的事情,但不是每次都打印数字加 1,而是所有线程只是多次打印相同的数字 0。请帮助我,谢谢。