1 #define GPFCON (*(volatile unsigned long *)0x56000050)//(int *)是将变量强制转换为地址形式,这样就能和指针连起来用了。 2 #define GPFDAT (*(volatile unsigned long *)0x56000054) ... ...
分类:
编程语言 时间:
2017-04-03 20:03:40
阅读次数:
289
volatile synschonized的区别 synchronized 同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synchronized 和 块语句,在多线程访问的时候,同一时刻只能有一个线程能够用 synchronized 修饰的方法 或者 代码块。 vol ...
分类:
其他好文 时间:
2017-04-03 12:32:42
阅读次数:
181
王一+ 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一、task_struct 操作系统的三大核心功能:1、进程管理 2、内存管理 3、 文件系统 struct task_struct{ volatile lon ...
分类:
系统相关 时间:
2017-04-03 00:29:39
阅读次数:
163
在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。 Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。 synchronized 同步块大家都比较 ...
分类:
编程语言 时间:
2017-03-31 13:28:01
阅读次数:
231
为了解决多线程安全问题在 Java 5.0 之前,协调共享对象的访问时可以使用的机制只有 synchronized 和 volatile 。Java 5.0 后增加了一些新的机制,但并不是一种替代内置锁的方法,而是当内置锁不适用时,作为一种可选择的高级功能。 隐式锁 synchronized 显示锁 ...
分类:
编程语言 时间:
2017-03-31 00:08:32
阅读次数:
214
Happens-Before规则 程序顺序规则。如果程序中操作A在操作B之前,那么在线程中A操作将在B操作之前执行。 监视器锁规则。在监视器锁上的解锁操作必须在同一个监视器锁上的加锁操作之前执行。 volatile变量规则。对volatile变量的写入操作必须在对该变量的读操作之前执行。 线程启动规 ...
分类:
移动开发 时间:
2017-03-30 10:25:33
阅读次数:
141
happens-before:描述内存可见性as-if-serial:无论怎么重排序,程序的运行结果不会改变 ReentrantLock依赖了队列同步器AQS,其实现方式是volatile变量的读写操作进行线程间通信,通过CAS修改state值,成功,其state值>0,则取锁成功 Concurre ...
分类:
Web程序 时间:
2017-03-29 16:26:45
阅读次数:
249
这里的普通方法和成员变量是指,非静态方法和非静态成员变量首先static是静态的意思,是修饰符,可以被用来修饰变量或者方法。 static成员变量有全局变量的作用 非static成员变量则没有全局变量的作用 局部变量是类的方法里面的变量静态static成员变量是指类的成员变量,他不属于类的对象,只单 ...
分类:
编程语言 时间:
2017-03-25 18:58:05
阅读次数:
229
直接先举一个例子普通的线程实例变量的非可见性:public class MyThread28 extends Thread { private boolean isRunning = true; public boolean isRunning() { return isRunning; } pub... ...
分类:
编程语言 时间:
2017-03-23 18:53:39
阅读次数:
173
端口绑定公式: 每一位绑定唯一的32位地址: SRAM区 0x2000 0000 ~ 0x200f ffff 1M (n = 1~7)AliasAddr = 0x22000000 + ((A-0x2000 0000)*8 +n)*4 = 0x22000000 + (A-0x2000 0000)*32 ...
分类:
其他好文 时间:
2017-03-23 16:18:17
阅读次数:
147