一般,在模块的ned中写上 double sendInterval @unit(s) = default(exponential(1s)); 然后在cc源代码中用par(“”)调用得到随机值. 此外,另外还有一种声明volatile, volatile double sendInterval @un...
分类:
Web程序 时间:
2015-06-01 07:15:55
阅读次数:
420
常量#include
using namespace std;
int main()
{
int i = 12;
const int ci = 12;
const volatile int *ip2 = &i;
cout << *ip2 << endl;
i = 14;
cout << *ip2 << endl;
retu...
分类:
其他好文 时间:
2015-05-31 12:29:15
阅读次数:
122
Java中volatile修饰符是一种用来保证不同线程之间交互的特殊机制。当一个线程修改volatile变量,另一个线程能够看到这个修改。第一个线程通知第二个线程变量已经被修改。下面用图来解释:ready是一个volatile boolean变量, 初值设为false. answer是一个非vola...
分类:
编程语言 时间:
2015-05-29 00:30:47
阅读次数:
170
一、JAVA内存模型简介
JAVA Merory Model描述了JAVA程序中各种变量(线程共享变量)的访问规则,以及在JVM中将变量存储到内存和从内存中读取变量这样的底层细节。
所有的变量都保存在主内存中,但是每个线程都有自己的独立工作内存,保存该线程使用到的变量的一个副本。
两条规定
1.线程对共享变量的操作只能在独立的工作内存中进行,不能在主内存中直接读写;
2.不...
分类:
编程语言 时间:
2015-05-28 21:38:07
阅读次数:
262
同步:共享资源被多个线程 调用,同步的方式有多种:(场景:卖火车票) 1 syncnizerd 关键字 2 reentrantLock 排它锁 3 volatile 关键字 修饰变量;异步:改变线程本身的状态 ,异步方法有多种:(场景:生产者消费者模式) 1 wait notify ,Object ...
分类:
编程语言 时间:
2015-05-27 18:47:31
阅读次数:
175
上一篇中我们出现了脏读的问题,但是却没有给出解决办法这一篇中我们这一篇中主要说明一下interlocked系列函数。
下面列出一些常用的Interlocked系列函数:
1.增减操作
LONG__cdeclInterlockedIncrement(LONG volatile* Addend);
LONG__cdeclInt...
分类:
编程语言 时间:
2015-05-26 21:34:37
阅读次数:
200
上一篇博客JAVA并发编程3_线程同步之synchronized关键字中讲解了JAVA中保证线程同步的关键字synchronized,其实JAVA里面还有个较弱的同步机制volatile。volatile关键字是JAVA中的轻量级的同步机制,用来将变量的更新操作同步到其他线程。从内存可见性的角度来说,写入volatile变量相当于退出同步代码块,读取volatile变量相当于进入同步代码块。
旧...
分类:
编程语言 时间:
2015-05-26 18:48:18
阅读次数:
270
“volatile”的含义是“请不要做没谱的优化,这个值可能变掉的”,而并非“你可以修改这个值”。因此,它们本来就不是矛盾的 const和volatile放在一起的意义在于: (1)本程序段中不能对a作修改,任何修改都是非法的,或者至少是粗心,编译器应该报错,防止这种粗心; (2)另一个程序段则完....
分类:
其他好文 时间:
2015-05-26 18:15:23
阅读次数:
131
volatile的特性当我们声明共享变量为volatile后,对这个变量的读/写将会很特别。理解volatile特性的一个好方法是:把对volatile变量的单个读/写,看成是使用同一个锁对这些单个读/写操作做了同步。下面我们通过具体的示例来说明,请看下面的示例代码:class VolatileFe...
分类:
编程语言 时间:
2015-05-25 23:56:52
阅读次数:
268
主要要搞清楚 编译期 和 运行期的关系。
编译期就是 C 编译器将 源代码转化为 汇编再到机器代码 的过程。
运行期就是 实际的机器代码在CPU执行 的过程。很多书上说的东西,其实都只是指编译期进行的事情。const 和 volatile 也一样,所谓的 const ,只是告诉编译器要保证在 C的“源代码”里面,没有对该变量进行修改的地方,就是该变量不能而出现在赋值符号左边。实际运行的时候则不是...
分类:
其他好文 时间:
2015-05-24 14:20:55
阅读次数:
163