我正在玩java中的线程。我有一个实现runnable的类。
public class MyThread implements Runnable{
private boolean finished;
//Other variables
public void run(){
//Thread code
}
}
我的理解是MyThread类型的每个线程都有自己的成员变量副本,并且不需要同步对这些成员变量的写入。这个假设是否正确?如果正确,访问需要同步的内容?有人可以提供大纲或伪代码。感谢。
答案 0 :(得分:6)
不一定。您可以使用MyThread
的同一实例创建多个线程。例如:
MyThread x = new MyThread();
new Thread(x).start();
new Thread(x).start();
new Thread(x).start();
现在将有三个线程在同一个对象中运行代码。
我建议你重命名MyThread
因为它不是一个线程 - 这是一个线程执行的任务。这使得它更清晰(IMO)。
答案 1 :(得分:0)
答案 2 :(得分:0)
concurrency上的真正大指数追踪非常值得一读(是的,它有例子)。