同步是什么意思?

同步是什么意思?

我有一些关于使用和意义的问题。synchronized关键词。

  • 的意义是什么?

    synchronized

    关键词?
  • 什么时候该用方法

    synchronized?

  • 从程序和逻辑上讲,这意味着什么?


慕少森
浏览 1049回答 3
3回答

呼啦一阵风

这个synchronized关键字都是关于不同线程对相同的变量、对象和资源进行读写。在Java中,这不是一个微不足道的话题,但以下是Sun的引语:synchronized方法支持防止线程干扰和内存一致性错误的简单策略:如果一个对象对多个线程可见,则通过同步方法对该对象的变量进行所有读或写操作。简单地说就是:当有两个线程正在读取和写入相同的“资源”时,例如一个名为foo,您需要确保这些线程以原子方式访问变量。没有synchronized关键字时,您的线程1可能不会看到将线程2更改为foo或者更糟的是,它可能只改变了一半。这不是你逻辑上所期望的。同样,这是Java中一个重要的主题。要了解更多信息,请浏览SO和Interweb上的主题:并发性Java内存模型继续探索这些主题,直到名称“布莱恩·戈茨”与术语永久关联“并发”在你的脑子里。

一只名叫tom的猫

这个synchronized关键字防止多个线程并发访问代码块或对象。默认情况下,Hashtable是synchronized,因此一次只能访问一个线程。论对…的使用non-synchronized像这样的构造HashMap,您必须在代码中构建线程安全功能,以防止内存一致性错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java