Java多线程中使用synchronized说明
作者:网络转载 发布时间:[ 2014/5/13 15:16:34 ] 推荐标签:Java多线程 软件开发技术
打印结果为(两个线程是顺序执行的):
|
read1 begin
read1 end
read2 begin
read2 end
|
如果去掉read2前面的synchronized关键字,打印为(线程出现了交叉执行):
|
read1 begin
read2 begin
read2 end
read1 end
|
修改read2方法,
|
public void read2() {
synchronized(this)
{
System.out.println("read2 begin");
try {
Thread.currentThread().sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("read2 end");
}
}
|
对this进行加锁,结果同一次,线程是顺序执行的。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
Java性能测试有哪些不为众人所知的原则?Java设计模式??装饰者模式谈谈Java中遍历Map的几种方法Java Web入门必知你需要理解的Java反射机制知识总结编写更好的Java单元测试的7个技巧编程常用的几种时间戳转换(java .net 数据库)适合Java开发者学习的Python入门教程Java webdriver如何获取浏览器新窗口中的元素?Java重写与重载(区别与用途)Java变量的分类与初始化JavaScript有这几种测试分类Java有哪四个核心技术?给 Java开发者的10个大数据工具和框架Java中几个常用设计模式汇总java生态圈常用技术框架、开源中间件,系统架构及经典案例等

sales@spasvo.com