`
standalone
  • 浏览: 615336 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java synchronized methods

    博客分类:
  • java
阅读更多

 

 

  • First, it is not possible for two invocations of synchronized methods on the same object to interleave. When one thread is executing a synchronized method for an object, all other threads that invoke synchronized methods for the same object block (suspend execution) until the first thread is done with the object.
  • Second, when a synchronized method exits, it automatically establishes a happens-before relationship with any subsequent invocation of a synchronized method for the same object. This guarantees that changes to the state of the object are visible to all threads.

在sun的tutorial上,对synchronized methods有上面的解释。意思是一个method加了这个关键字之后, 第一,多个线程不能同时执行同一个对象的synchronized方法,只能串行。第二,在一个synchronized方法执行完后,保证了对这个对象做的所有改动都对其他线程可见。

 

 

 

分享到:
评论

相关推荐

    深入java虚拟机(inside the java virtual machine)

    Synchronized Methods Coordination Support in Class Object On the CD-ROM The Resources Page Appendix A. Instructions by Opcode Mnemonic Appendix B. Opcode Mnemonic by Functional Group Appendix C. ...

    浅析java并发中的Synchronized关键词

    浅析Java并发中的Synchronized关键词 Java并发编程中,Synchronized关键词是一个非常重要的概念,它提供了一种简单而又有效的方法来实现线程安全。在多线程环境中,Synchronized关键词可以用来保护共享资源,使得...

    commons-httpclient-3.0.1--java网络开发

    import java.io.IOException; import org.apache.commons.httpclient.params.HttpClientParams; import org.apache.commons.logging.Log; public class HttpClient { // Fields private static final Log LOG; ...

    java编程小项目

    Java提供Thread类支持多线程,还有synchronized关键字和volatile修饰符来处理并发问题,确保数据的一致性。 集合框架(Collections Framework)是Java中不可或缺的部分,包括List、Set和Map接口,以及ArrayList、...

    Java实列入门实列

    理解和使用synchronized关键字确保线程安全。 15. **接口(Interface)**:接口定义了方法签名,但不包含实现。它们用于规范类的行为,实现多继承。 16. **泛型**:泛型提供了一种方式来限制容器存储的类型,增强...

    java基础视频-试看.rar

    类定义了对象的属性(fields)和行为(methods)。`public`、`private`、`protected`是访问修饰符,用来控制类成员的可见性。`static`关键字用于声明静态成员,而`void`表示方法不返回任何值。 6. **包(Package)*...

    Java-Interview-Question.pdf

    - **多线程**: Java通过synchronized关键字实现线程同步,支持 preemptive scheduling 和 time slicing。 - **序列化(Serialization)**: Java对象的序列化机制允许把对象状态保存为字节流,并可将该流保存到文件中或...

    Java入门学习PPT课件

    - **类的定义**:使用关键字"class",定义类的结构包括属性(fields)和方法(methods)。 - **对象的创建**:使用"new"关键字和构造函数来实例化对象。 - **访问修饰符**:public、private、protected等控制类...

    java基础名词解释汇总.docx

    Synchronized methods是同步方法,是指明某个方法在某个时刻只能由一个线程访问。Thread是线程,是一个程序内部的顺序控制流。Time-slicing是时间片,调度安排线程执行的一种方案。 在Java基础名词解释汇总中,...

    很容易弄错的java面试题

    7. **接口与抽象类**:两者之间的选择,以及Java 8引入的默认方法(default methods)如何改变这一格局。接口强调多态,抽象类可以有方法实现,Java 8的默认方法允许接口提供默认实现,增加了灵活性。 8. **泛型**...

    java反射机制详解

    public synchronized int java.util.Stack.search(java.lang.Object) ``` 此示例中,通过`Class.forName()`方法加载指定类,并通过`getDeclaredMethods()`方法获取该类声明的所有方法。 ##### 4.2 ReflectTester ...

    java基础学习与进阶

    Java程序由类(class)组成,每个类都包含属性(variables)和方法(methods)。变量存储数据,方法执行操作。Java是一种静态类型语言,这意味着在编写代码时必须声明变量的类型。例如,声明一个整型变量可以写为`...

    java图解教程

    9. **多线程**:Java内置对多线程的支持,通过实现Runnable接口或继承Thread类创建线程,线程同步机制如synchronized关键字和wait/notify机制防止数据不一致。 10. **网络编程**:Java提供了丰富的API用于网络编程...

    java名词速查表 java名词速查表

    #### Synchronized methods (同步方法) - 同步方法是为了保证线程安全而加锁的方法。 - **作用**:确保同一时间只有一个线程可以访问。 #### Thread (线程) - 线程是程序中的最小执行单元。 - **作用**:实现多...

    Core Java Vol I 8th

    16. **并发编程**:讲解线程的创建和管理,同步机制如synchronized关键字和java.util.concurrent包中的工具类。 17. **反射(Reflection)**:讨论如何在运行时动态获取类的信息和调用方法,以及其在元编程中的应用...

    代码大全JAVA

    函数(methods)是代码复用的基石,Java支持方法重载,即同名但参数不同的方法。通过阅读源代码,可以学习到如何设计和使用高效、灵活的函数。 Java集合框架是处理数据的重要工具,包括ArrayList、LinkedList、...

    java项目源码

    类中定义了属性(fields)和方法(methods),属性用于存储数据,方法则是对数据进行操作的逻辑。在源码中,你会看到`public`、`private`、`protected`等访问修饰符,它们控制了类、方法和字段的可见性,这是Java...

    java编程入门课程PPT

    - **类的定义**: 定义类的基本结构,包括属性(fields)和方法(methods)。 - **对象的创建与实例化**: 如何通过`new`关键字创建对象,并调用对象的方法。 - **构造函数**: 类的初始化机制,无参和带参构造函数...

    java初中级教程

    - 函数(Methods):函数是代码的复用单元,Java中的方法定义了特定功能,可以接受参数并返回结果。 - 类(Classes)与对象:Java是面向对象的语言,类是对象的蓝图,通过构造函数创建对象。 2. **面向对象编程**...

    《Java语言程序设计》源代码

    源代码中可能会包含并发编程的实例,如同步机制(synchronized关键字、wait()、notify()方法)和线程池的使用。 9. **反射机制**:Java反射API允许程序在运行时检查类、接口、字段和方法的信息,甚至动态调用方法。...

Global site tag (gtag.js) - Google Analytics