单例模式Activity管理的使用,以及volatile的作用
来源:互联网 发布:佛山网络推广shundeit 编辑:程序博客网 时间:2024/06/06 14:14
我现在也是开始边学习边谢谢博客记录知识的点滴,好记性不如烂笔头,我觉得记录下来有利于加强我的记忆。
1、volatile修饰的变量,有原子级的特征 例如 a=b+c; 此时a 算是原子级的,如果是a=a+1,则此时的volatile修饰的变量是无效的。
在Java内存模型中,有main memory,每个线程也有自己的memory (例如寄存器)。为了性能,一个线程会在自己的memory中
保持要访问的变量的副本。这样就会出现同一个变量在某个瞬间,在一个线程的memory中的值可能与另外一个线程memory中的值,
或者main memory中的值不一致的情况。
来源:http://blog.csdn.net/orzorz/article/details/4319055
//这个是activity管理类,在baseActivity中进行管理,可方便操作public class ActivityManager { //volatile 修饰只能是主内存存在,其他线程访问的临时变量也都跟这个一样 private static volatile ActivityManager instance;//java中stack的使用方法,堆栈是一种"后进先出"(LIFO)的数据结构,只能在一端进行插入(称为"压栈")或删除(称为"出栈")数据的操作. private Stack<Activity> mActivityStack = new Stack<Activity>(); private ActivityManager() { } public static ActivityManager getInstance() { if (instance == null) { synchronized (ActivityManager.class) { if (instance == null) { instance = new ActivityManager(); } } } return instance; } public void addActicity(Activity act) { mActivityStack.push(act); } public void removeActivity(Activity act) { mActivityStack.remove(act); } public void killMyProcess() { int nCount = mActivityStack.size(); for (int i = nCount - 1; i >= 0; i--) { Activity activity = mActivityStack.get(i); activity.finish(); } mActivityStack.clear(); android.os.Process.killProcess(android.os.Process.myPid()); }}
阅读全文
0 0
- 单例模式Activity管理的使用,以及volatile的作用
- 单例模式的作用以及适用范围 以及创建步骤
- Java单例模式-volatile与synchronized的使用
- Volatile 线程安全的单例模式
- 【设计模式】5. 单例模式(以及多线程、无序写入、volatile对单例的影响)
- [设计模式总结] 5. 单例模式(以及多线程、无序写入、volatile对单例的影
- 单例模式的使用场景(作用)
- 设计模式之单例模式的作用以及两种实现方式
- Java中volatile的作用以及用法
- Java中volatile的作用以及用法
- Java中volatile的作用以及用法
- java的单例模式,为什么需要volatile
- 【Android】Android开发之Activity的管理类,结束关闭指定的Activity,单例模式封装
- Java单例模式及创建单例模式的多线程问题 volatile synchronized 关键字
- 正确使用 volatile 的模式
- 单例:app activity 单例模式管理类
- 单例模式及声音的管理
- 单例模式的使用
- Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
- Tween.js 中文说明文档
- shell if语句
- 如何记录和查询Redis慢执行日志
- React Native Android打包
- 单例模式Activity管理的使用,以及volatile的作用
- Maven常用命令
- Java 反射(Reflection)
- scala design patterns
- JBOSS最大连接数配置和jvm内存配置
- 第五章、ReactNative直接修改View的属性方法
- <二分图染色>codevs 1535 封锁阳光大学
- 长连接
- 关于okhttp