`

java - synchronized - asynchronized(同步-异步)

    博客分类:
  • java
 
阅读更多

1.  synchronized(同步) - 保证数据(结果)的正确性 - 唯一的资源适合同步 - 同一时间段只用一个程序在运行 -  如:数据库的写操作。

     asynchronized(异步) - 加快运行速度 - 互斥的资源适合异步 -  同一时间端多个程序在运行 - 如:数据库的读操作。

2.   程序如何实现

      同步实现:● 使用jvm提供的关键字synchronized  配合 Object提供的notify()/wait()方法

                        ● 使用Lock

      异步实现:●  js - ajax

                        ●  java - 多线程

3. 参考实例:http://www.cnblogs.com/benshan/p/3551987.html

                      http://houlinyan.iteye.com/blog/1112535

     

 

分享到:
评论

相关推荐

    java同步、异步相关知识点

    在Java编程语言中,同步(Synchronization)与异步(Asynchronization)是两个非常重要的概念,它们对于多线程处理和并发控制有着不可替代的作用。本文将深入探讨这两个概念的区别及其在Java中的具体应用。 #### 一...

    Java同步与异步[定义].pdf

    * asynchronized(异步的):不使用锁机制,允许多个线程同时访问共享资源。 * volatile(易变的):变量值可以被其他线程改变。 * atomic(原子的):操作不可被打断,能够保证数据的一致性。 * share(共享):多...

    java-android面试题

    - **线程同步**:理解synchronized关键字、wait/notify机制,以及Lock接口的使用。 - **并发编程**:了解并发容器如ConcurrentHashMap,以及ExecutorService、Future、Callable等并发工具类。 4. **Android基础...

    JAVA-内存模型.docx

    在Java中,同步和异步是描述程序执行方式的两个重要概念。 - **同步**:在同步操作中,调用者必须等待操作完成才能继续执行后续操作。这通常意味着调用者需要阻塞直到操作完成。 - **异步**:在异步操作中,调用者...

    Java多线程实现异步调用实例

    标签“多线程”强调了Java并发编程的核心概念,如线程的创建、同步、通信和状态管理。例如,`synchronized`关键字用于确保对共享资源的互斥访问,防止数据竞争;`wait()`, `notify()`和`notifyAll()`方法用于线程间...

    Java Thin-Client Programming

    - **使用`synchronized`关键字(Using the "synchronized" Keyword):**介绍了如何利用`synchronized`关键字来同步方法或代码块,从而避免并发访问导致的问题。 - **使用委托(Using Delegation):**探讨了一种...

    Java-Threads.rar_threads

    3. **同步与互斥**:为了防止多个线程同时访问共享资源,Java提供了`synchronized`关键字、`Lock`接口(如`ReentrantLock`)和`java.util.concurrent`包中的并发工具类,以实现线程间的同步和互斥。 4. **死锁、...

    Java线程的同步与死锁

    ### Java线程的同步与死锁 #### 一、引言 在Java中,多线程编程是一项重要的技术,能够显著提升程序的性能和响应能力。然而,随着线程数量的增加,线程间的同步问题变得越来越复杂。本文将深入探讨Java线程中的同步...

    大唐JAVA笔试题

    ### 大唐JAVA笔试题知识点...- **《Clean Code: A Handbook of Agile Software Craftsmanship》** 以上知识点涵盖了Java基础、面向对象、多线程、异常处理、Web开发等多个方面,对理解和掌握Java技术栈具有重要意义。

    java面试题2024资源下载

    - 适用于执行很多短期异步任务的情况。 - **ScheduledThreadPoolExecutor**: - 创建定时任务线程池,支持周期性执行任务。 #### 十五、synchronized关键字的底层原理 - **监视器锁**: - synchronized关键字...

    java面试资料2019

    - 实现同步主要通过`synchronized`关键字或显式锁。 #### 51. 启动线程 - 应该使用`start()`方法启动线程,`run()`方法只是简单地执行线程体。 #### 52. 线程进入同步方法 - 当一个线程进入一个对象的一个`...

    JAVA面试宝典-准备成功

    **1.49 同步和异步的异同** - **同步**:等待某个操作完成后再继续执行。 - **异步**:无需等待某个操作完成即可继续执行。 - 使用场景:同步通常用于简单且快速的操作;异步用于耗时较长的操作。 **1.50 多线程的...

    Java面试宝典2010版.pdf

    - `synchronized`修饰同步方法,用于控制线程同步。 - `Thread.stop()`和`Thread.suspend()`已被废弃,因为它们可能导致死锁。 47. **`sleep()`与`wait()`的区别** - `sleep()`来自`Thread`类,可以让当前线程...

    java api 操作手册

    - `synchronized`关键字:用于线程同步,防止数据不一致性。 - `ExecutorService`和`Future`:管理线程池和异步任务的接口和类。 5. **集合框架**: - `ArrayList`和`LinkedList`:两种不同实现的列表,`...

    Java Threads 2rd

    - 解释了如何使用`synchronized`关键字来创建同步代码块。 - **3.5 嵌套锁** - 探讨了多个锁之间的嵌套关系以及可能产生的问题。 - **3.6 死锁** - 详细分析了死锁的产生原因及其预防措施。 - **3.7 返回到银行...

    Java面试葵花宝典2012版

    - 同步可以通过`synchronized`关键字实现。 #### 51. 启动线程的方式 - 应该使用`start()`方法来启动线程,而不是直接调用`run()`方法。 - `start()`方法会创建一个新的线程并调用`run()`方法。 #### 52. 线程...

    java面试宝典(最新版)

    - `abstract method`可以是`synchronized`,因为`synchronized`用于同步操作,与方法是否抽象无关。 #### 26. 内部类 - **内部类**:定义在另一个类内部的类。 - **Static Nested Class**:静态内部类,不需要外部...

    Java面试宝典2010版

    - **同步方法修饰词:** `synchronized`。 - **`stop()`和`suspend()`不推荐使用:** - `stop()`可能导致资源泄露。 - `suspend()`可能导致死锁。 **47. `sleep()`与`wait()`的区别** - **`sleep()`:** - 当前...

    java面试资料大全(非常全面)

    - 使用`synchronized`关键字或`Lock`接口来实现线程同步。 50. **启动线程的方法**: - 使用`start()`方法启动线程,`run()`方法不应直接调用。 51. **线程的同步控制**: - 当一个线程进入一个对象的`...

Global site tag (gtag.js) - Google Analytics