多线程方法中使用了共享变量SimpleDateFormat,报如下错误:java.lang.NumberFormatException: multiple points at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal....
分类:
编程语言 时间:
2014-07-10 11:54:28
阅读次数:
243
背景大家都知道线程之间共享变量要用volatilekeyword。可是,假设不用volatile来标识,会不会导致线程死循环?比方以下的伪代码:static int flag = -1;void thread1(){ while(flag > 0){ //wait or do somethi...
分类:
编程语言 时间:
2014-07-09 00:33:01
阅读次数:
263
在介绍java内存模型之前,我们先看看两个内存模型
Sequential Consistency Memory Model:连续一致性模型。这个模型定义了程序执行的顺序和代码执行的顺序是一致的。也就是说 如果两个线程,一个线程T1对共享变量A进行写操作,另外一个线程T2对A进行读操作。如果线程T1在时间上先于T2执行,那么T2就可以看见T1修改之后的值。
这个内存模型比较简单,也比较直观,比较符合现实世界的逻辑。但是这个模型定义比较严格,在多处理器并发执行程序的时候,会严重的影响程序的性能。因为每次对共...
分类:
编程语言 时间:
2014-06-26 06:57:22
阅读次数:
538
深入分析Volatile的实现原理
引言
在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。
它在某些情况下比synchronized的开销更小,本文将深入分析在硬件层面上I...
分类:
其他好文 时间:
2014-06-21 19:47:44
阅读次数:
688
在没有正确同步的情况下,如果多个线程访问同一个变量,程序就存在隐患。有3种方法修复它:1. 不要跨线程共享变量;2. 使变量变量变为不可变的;3. 在任何访问变量的时候使用同步。示例:非线程安全的Servlet计算请求而没有必要的同步public class UnsafeCountingFactor...
分类:
编程语言 时间:
2014-06-20 14:18:43
阅读次数:
245
1.问题引入 多个业务模块针对同一个static变量的操作 要保证在不同线程中 各模块操作的是自身对应的变量对象例如:package org.lkl.thead;import java.util.Random;/** * 线程共享数据 * Function : * @author : Liaok.....
分类:
编程语言 时间:
2014-06-15 07:11:58
阅读次数:
264
使用共享变量# -*- coding: utf-8 -*-"""Created on Wed Jun
4 23:28:21 2014@author: wencc"""from theano import sharedfrom theano import
functionimport theano.t...
分类:
其他好文 时间:
2014-06-11 13:26:52
阅读次数:
304
背景
大家都知道线程之间共享变量要用volatile关键字。但是,如果不用volatile来标识,会不会导致线程死循环?比如下面的伪代码:
static int flag = -1;
void thread1(){
while(flag > 0){
//wait or do something
}
}
void thread2(){
//do something
f...
分类:
编程语言 时间:
2014-05-25 10:24:14
阅读次数:
220
参考资料:vbs能否像其他编程语言一样,把写好的代码打包成类库以供调用呢?经过搜索和实验,发现vbs文件之间可以互相调用并共享变量,这样我们就不用再反复地编写轮子了。
以下是一个调用实例:=====1.vbs开始=====dim strstr = "hello world"=====1.vbs结束=...
分类:
其他好文 时间:
2014-05-16 05:03:23
阅读次数:
225