我有一个int x应该同时从多个线程访问的字段.我希望x每个线程都有一个单独的副本,每个副本都以其原始值开始.我尝试使用volatile关键字执行此操作,但每个新线程仍会修改x其他线程.
这是一个代码示例:
public class StackOverflowThread0 {
public StackOverflowThread0() {
new A().start();
}
public static void main(String[] args) {
new StackOverflowThread0();
}
volatile int x = 0;//<--keep original for each thread?
class A extends Thread {
@Override
public void run() {
try {
while (true) {
getT().start();
Thread.sleep(1000);
}
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
Thread getT() {
Thread t = new Thread() {
@Override
public void run() { …Run Code Online (Sandbox Code Playgroud)