java中的synchronized关键字

原创 2011年01月09日 16:47:00

今天去逛javaworld.com.tw看到有人在问线程同步的问题,最近对多线程很感兴趣,写了不少类似的程序,所以线程同步也是肯定要用的到的,synchronized加在函数名称中间,我记得是对对象的同步,也就是说多线程如果想保持同步,必须保证这些线程用的是一个对象。看到过synchronized写到函数里面的,但是没得感受,今天测试了一把,把synchronized写到函数内部的,就不用保证一个对象了,所有的N个不同对象都可以。这个是代码看下截图吧。

先来个synchronized写到函数内部的

运行结果截图:

可以看到2个线程是同步的来了,

再来看一下关键字写到内部的:

 

 

运行结果是和上面一样的,我就不多截图了。

 

再来对比下,关键字写到函数声明处,但是非一个对象的时候的代码:

 

来看下结果:

可以看到是没有同步的哈。这样已经很清楚了,同步到底杂用的了。。

 

PS:明天开始考试,我什么都不会。。

java中synchronized关键字的认识&记录

通过具体项目中在线程间同步遇到的问题(app无响应ANR)来阐述synchronized关键字的使用场景。...
  • bibingyan
  • bibingyan
  • 2017年02月21日 20:27
  • 337

Java线程同步中关键字synchronized简述

Java线程同步中关键字synchronized简述 一、作用: synchronized关键字通过修饰一个方法或者声明一个代码块,从而产生一个同步对象锁以及对应的同步代码块。每当...
  • beiyus
  • beiyus
  • 2015年10月14日 13:40
  • 1757

Java基础-synchronized关键字的用法

顾名思义是用于同步互斥的作用的。 这里精简的记一下它的使用方法以及
  • cq361106306
  • cq361106306
  • 2014年08月21日 21:02
  • 4655

Synchronized关键字详解

多线程的同步机制对资源进行加锁,使得在同一个时间,只有一个线程可以进行操作,同步用以解决多个线程同时访问时可能出现的问题。   同步机制可以使用synchronized关键字实现。   当...
  • u010408365
  • u010408365
  • 2014年12月17日 16:02
  • 2071

探索Scala(8)-- 关键字

本文比较一下Java和Scala语言的关键字
  • SpiderDog
  • SpiderDog
  • 2014年11月04日 18:39
  • 5041

关于java synchronized关键字的一些理解

看了java编程思想的并发这一章,发现对于synchronized关键字理解不够到位,看了其他人的博客,加深了一些理解:http://www.cnblogs.com/GnagWang/archive/...
  • yxl0011
  • yxl0011
  • 2016年12月20日 16:05
  • 250

多线程之互斥锁(synchronized关键字)

synchronized关键字经常被用来做线程互斥锁,但是使用不当的话,经常达不到目的。初学者常对锁住的是对象还是类有疑问。 原理:无论是对象还是类都有唯一的锁,synchronized只是声明了函...
  • g414917512
  • g414917512
  • 2017年09月12日 14:47
  • 243

java的关键字synchronized用法总结

第一篇:   使用synchronized   在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题。在Java中内置了语言级的同步原语--synchronized,...
  • u010586698
  • u010586698
  • 2016年06月27日 21:04
  • 1363

java多线程(四)synchronized关键字修饰方法

在之前的博客中我们介绍了条件对象和锁对象,两者结合使用才能起到比较好的互斥与同步效果,大家可能觉得有些麻烦,有没有将两者结合起来的工具呢,有!java提供了synchronized关键字来实现线程的互...
  • xingjiarong
  • xingjiarong
  • 2015年08月24日 08:49
  • 4054

Java 关键字volatile 与 synchronized 作用与区别

1,volatile    volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的。   在Java内存模型中,有main memory,每个线程也有自己的memory (例如...
  • HGuang_ZJH
  • HGuang_ZJH
  • 2014年04月13日 23:10
  • 4020
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java中的synchronized关键字
举报原因:
原因补充:

(最多只允许输入30个字)