`
http_url
  • 浏览: 47257 次
  • 性别: Icon_minigender_1
  • 来自: 徐州
社区版块
存档分类
最新评论

‘同步’和‘异步’的诱惑

    博客分类:
  • Java
阅读更多

关于‘同步’和‘异步’这两个词语。

在Java里我们把关键字Synchronized翻译成“同步”。这时问题出现了,我们对‘同步’的一般理解为:同时执行,即一项工作由不同的人或单位同时执行或同时完成。然而用Synchronized关键字标识的方法或代码块在同一时间只能有一个线程执行,这完全与我们对“同步”的一般理解是相反的,因此一些初学者在学习Synchronized时就会有一些烦恼了,因为这与大脑中对同步的理解有区别了。

 

为此,我们可以将Synchronized理解为:同步--同一时间只有一个路线。(同:同一时间。步:路线,一个线程是一个路线)。这时 同步方法就可以理解为:同时时间只能有同一个线程执行此方法。如果这样理解,那么大脑中的烦恼自然就消失了。

 

 

 

后记:

在理解‘同步’这个词语的时候我特别注意了烦恼的产生这个问题:当大脑对某一个问题形成了一定的看法后,突然发现通过这种理解不能解释某个问题的时候,烦恼就会出现了。当出现烦恼时,大脑就会对高速的运转,用以为解决问题做好准备。

 

分享到:
评论
2 楼 http_url 2009-04-22  
同步:是对数据的一种操作方式,即:在同一时间内对该数据是独占还是分享(或者部分独占和分享)
1 楼 C_J 2009-04-19  
我觉得还是有点问题


我觉得“同步”这个词的语义范畴,不是对“线程”,“进程”而言的,是对“数据”而言的。

意思是:“数据要同步”

你觉得呢?

相关推荐

    C#TCP/IP同步和异步通信

    本文将深入探讨如何在C#编程环境中实现TCP/IP的同步和异步通信,并结合提供的“WindowsInternetServer”压缩包文件,讲解如何封装这两种通信方式。 首先,TCP/IP同步通信是指在发送数据前,必须等待接收方确认接收...

    C# 同步与异步读写

    在"第一次实验(同步与异步读写)"中,我们可以看到如何对比同步和异步读写操作的实现。实验可能包括创建一个大文件,然后分别用同步和异步的方式读取和写入,记录并分析所需时间。通过这样的实验,我们可以直观地...

    同步和异步串口

    同步和异步串口 同步和异步串口是两种常用的串行通信方式,它们都是基于 RS232C 方式的体现,但它们的传输方式不同。异步传输是一种典型的基于字节的输入输出,指数据按每次一个字节进行传输,其传输速度较低。同步...

    unix实验二 同步与异步write的效率比较

    - 学习和理解Unix中的文件I/O系统调用,特别是`write`函数的同步和异步模式。 - 分析不同缓冲区大小对同步与异步`write`性能的影响。 2. **实验要求**: - 编写名为`timewrite`的程序,它接受两个参数:输出...

    proe二次开发同步异步两种模式的区别

    PROE 二次开发中,同步模式和异步模式是两种不同的开发方式。同步模式(Synchronous Mode)是指 PRO/Toolkit 应用程序进程和 PRO/ENGINEER 系统进程不能同时操作,需要等待对方的响应后才能继续执行操作。异步模式...

    C# Socket 同步和异步通信

    本篇将详细探讨C#中的Socket同步和异步通信,以及如何在Winform环境下实现这些功能。 首先,我们要理解什么是Socket。Socket,也称为套接字,是操作系统提供的网络编程接口,用于建立和维护网络连接,进行数据交换...

    同步和异步FIFO.zip

    同步和异步FIFO是数字电路设计中的重要概念,特别是在微处理器、嵌入式系统以及通信接口等领域的应用中。FIFO(First In First Out,先进先出)是一种特殊的存储结构,它按照数据进入的顺序进行存储,并按照数据进入...

    异步清零和同步清零置数区别

    异步清零和同步清零是数字电路设计中,特别是时序电路设计中的两个重要概念。它们是处理清零信号的两种不同方式,影响着电路的计数和状态转换。 首先我们来理解异步清零的概念。异步清零是指在计数器或寄存器中,...

    C#Udp同步和异步编程源代码

    C#作为.NET框架的主要编程语言,提供了丰富的API来处理网络通信,其中包括UDP(User Datagram Protocol)协议的同步和异步编程。本文将深入探讨C#中如何实现UDP同步和异步编程,并提供相关知识点。 首先,UDP是一种...

    同步和异步的NSOperation的Demo

    在本Demo中,我们将深入探讨同步和异步操作的区别以及如何在实践中运用NSOperation。 首先,NSOperation是一个抽象基类,它代表一个可执行的任务或者操作。你可以通过继承NSOperation来创建自定义的操作类,或者...

    C# socket同步和异步通信示例

    本示例主要探讨了C#中Socket的同步和异步通信方式,这对于开发网络应用,尤其是服务端和客户端之间的数据交换至关重要。下面将详细解释这两种通信方式以及它们的应用场景。 1. **同步通信**: 同步通信是指发送方...

    同步复位和异步复位比较

    在数字电路设计领域,同步复位和异步复位是两个至关重要的概念,尤其在笔试面试中频繁出现,它们的设计选择直接影响着电路的性能、稳定性和资源消耗。本文将详细探讨两种复位方式的特点、优缺点,并提出推荐的复位...

    spring线程池(同步、异步).docx

    在Spring框架中,线程池的使用是实现并发和异步任务执行的关键工具。线程池的概念源于Java的`java.util.concurrent.ExecutorService`接口,它允许我们管理一组可重用的工作线程,以提高系统效率并减少资源消耗。...

    c#线程同步与异步编程

    在C#编程中,线程同步与异步是并发编程中的关键概念,它们涉及到如何有效地管理多线程环境中的资源和执行顺序。本教程将深入探讨这两个概念,以帮助初学者更好地理解和应用。 同步编程是程序执行的一种方式,其中...

    完整版本网络编程 TCP Socket 同步、异步

    **同步与异步**:在TCP Socket编程中,同步和异步是两种不同的I/O模型。同步操作意味着程序会阻塞,等待数据传输完成后再继续执行,而异步操作则允许程序在等待I/O操作完成的同时执行其他任务。同步方式简单易懂,但...

    同步和异步的套接字模块源码

    在"同步异步套接字.e"这个源码文件中,可能包含了同步和异步套接字的实现细节,比如如何创建套接字,如何进行连接,如何发送和接收数据等。通常,它会使用特定的API来设置套接字为同步或异步模式,例如在POSIX系统中...

    QT C++ http get、post 同步异步请求

    本项目中,我们关注的是GET和POST两种请求方式,以及它们的同步和异步实现。下面将详细介绍这两种请求方式以及同步与异步的区别。 1. **QT中的HTTP GET请求** GET请求是最常见的HTTP请求类型,用于从服务器获取资源...

    Angular异步变同步处理方法

    Angular异步变同步处理方法是前端开发中用于解决多个接口请求顺序依赖问题的一种技术手段。由于异步操作的特性,它能处理那些按顺序依次执行的接口调用,而不会阻塞主线程,让页面陷入假死状态。在Angular中,主要...

    同步方法和异步方法比较

    在编程领域,同步和异步方法是处理任务执行方式的两种基本模式,它们在系统设计和性能优化中扮演着至关重要的角色。理解这两者的区别及其优缺点对于开发高效的应用至关重要。 **同步方法**指的是调用一个函数或方法...

    Visual C++源代码 31 如何同步或异步播放 Wav声音

    Visual C++源代码 31 如何同步或异步播放 Wav声音Visual C++源代码 31 如何同步或异步播放 Wav声音Visual C++源代码 31 如何同步或异步播放 Wav声音Visual C++源代码 31 如何同步或异步播放 Wav声音Visual C++源代码...

Global site tag (gtag.js) - Google Analytics