易截截图软件、单文件、免安装、纯绿色、仅160KB

Java线程同步示例

文章用实例代码展示了Java中多线程访问共享资源
时线程同步
的重要性。
分别通过在两个线程中同时访问(调用get_id*方法)经过同步处理(lock及Synchronized)的共享资源(tmp)及未经过同步处理的共享资源(tmp)来说明同步处理的的作用。
main中分两部分:
1)前半部分,non-synchronization部分用来测试没有做同步处理的代码段,运行结果应该是
After thread #1 call get_id(), id=1
After thread #2 call get_id(), id=1
2)后半部分,synchronization部分用来测试做过同步处理的代码段,运行结果应该是
After thread #1 call get_id(), id=1
After thread #2 call get_id(), id=2
参考资料:
-1-关于sleep和wait区别看一下这个: http://wurd.javaeye.com/blog/174563。
-2-关于synchronized可以看一下这篇:http://www.wangchao.net.cn/bbsdetail_148670.html,比较明了。
-3-关于Java线程同步可以看一下这个:http://lavasoft.blog.51cto.com/62575/27069,很详细。
/********************************************************************************
*FileName: Thread_sync.java
*Date: 2010/01/12
*Intention: Test thread synchronization tools in java.
*Input:
*Output:
* in non-synchronization version
* After thread #1 call get_id(), id=1
* After thread #2 call get_id(), id=1
* in synchronization version
* After thread #1 call get_id(), id=1
* After thread #2 call get_id(), id=2
*
*DevelopmentEnv: Netbeans 6.8, Jdk 1.6.
********************************************************************************/
class Counter
{
private final static Object lock = new Object();
private static int count = 0;

public int get_id()
{
int tmp = count;
++tmp;
try
{
Thread.sleep(1000);
}
catch(Exception e)
{
}
count = tmp;

return count;
}
public int get_id_sync()
{
synchronized(lock)
{
int tmp = count;
++tmp;
try
{
Thread.sleep(1000);
}
catch(Exception e)
{
}
count = tmp;
}

return count;
}
}
public class Thread_sync
{
private static int cnt = 0;
static class Rab implements Runnable
{


相关文档:

Java Web开发相关名词解释

Web开发中经常用到的一些名词,按同功能类型的进行分组:
1.标签:WebWork标签、JSTL、JSP标签
2.AOP 拦截器 过滤器 监听器 校验器
3.面向接口 面向切面 控制反转 依赖注入
4.单态模式 DAO模式 装饰模式
5.缓存:数据缓存 服务器端缓存 客户端缓存
6.ORM EJB[三种Bean]
7.JMS
8.MVC开发模式
9.W ......

Java 环境变量的配置

在java环境变量配置上抓住 “两添加,以修改就OK了”
按住windows键+PauseBreak键直接在高级中的环境变量处设置
1.添加
CLASSPATH
.;C:\Program Files\Java\jdk1.6.0_02\lib;(这是你Jdk安装的目录下的包)
 
2.添加
JAVA_HOME
C:\Program Files\Java\jdk1.6.0_02
3.修改
修改path变量
C:\Progra ......

java高手之路

Java Learning Path (一)、工具篇
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了Sun之外, ......

JAVA加密算法

MD5算法是一种非常优秀的加密算法。
MD5加密算法特点:灵活性、不可恢复性。
       介绍MD5加密算法基本情况MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。
Message-Digest泛指字节串(Message)的Has ......

都是编码惹的祸 java编程

    最近在用润乾在做一些web项目的报表,其中有一个批量打印的报表。需要把参数传到报表里,当把中文传到里面时总时乱码,采用了各种转码方式,也没转过来,晕.........
为什么会有这么多的编码,好头疼呀... ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号