问题描述
- java 中如何实现多个线程共享一个类
-
预想: 一个类 ClassA 中的一个类变量 public static int data = 100;我起一个main方法 调用 ClassA.data = 200;
再起一个main方法 读取ClassA.data 获取的值就是200?
任意线程修改单例的ClassA 其他线程读取都是最新的
如何做到?
解决方案
解决方案二:
启动2个main,不是线程,是进程。
解决方案三:
用final修饰 public final static int data = 100;
解决方案四:
用 java同步锁(synchronized),参考:http://www.blogjava.net/tscfengkui/archive/2010/11/10/337709.html?opt=admin
解决方案五:
进行类锁!对变量进行线程访问加锁
解决方案六:
进行类锁!对变量进行线程访问加锁
解决方案七:
public static int data = 100;
public static int getData() {
return data;
}
public synchronized static void setData(int data) {
ClassA.data = data;
}
解决方案八:
线程thread,使用同步机制synchronized
解决方案九:
http://blog.csdn.net/evankaka/article/details/44153709
解决方案十:
共享一个类?是共享一个对象吧?同步方法或者用锁
时间: 2024-08-02 22:07:13