当前位置: 首页 > 知识库问答 >
问题:

Java中同步和非同步集合类之间的区别是什么?

闾丘玮
2023-03-14

我在读Java的收藏,然后我读到了这一行:

"没有一个集合类是同步的,但是正如您将在本章后面看到的,可以获得同步版本。"

有人能告诉我Java中同步和非同步集合的区别吗?

共有3个答案

轩辕华辉
2023-03-14

默认情况下,集合类不同步。但是如果你想要一个同步的集合,你可以使用静态方法java.util.Collections.sync收集(收集

郤瀚
2023-03-14

同步集合意味着该类是线程安全的。(您可以拥有也是线程安全的非同步集合,但这是每天大约一千篇论文的主题。)

集合通过获取锁来同步突变,以确保其他线程不会破坏状态。

基本上,使用非同步版本,除非您有多个线程。

(如果您不知道,线程本质上是程序中的一行执行。有些程序有多个线程,所有线程共享相同的代码和内存。)

广楚
2023-03-14

在同步中,如果我们正在执行某事,那么我们需要等待它完成,然后再转移到另一个任务。

默认情况下,集合类不同步。集合对象是可变的,这意味着一旦创建了对象,并且该对象一次调用两个线程,但一个线程正在更改对象的值,则它可以由另一个对象影响。因此,它不是线程安全的。

我们可以使用静态方法显式同步集合

 类似资料:
  • 本文向大家介绍同步和异步传输之间的区别,包括了同步和异步传输之间的区别的使用技巧和注意事项,需要的朋友参考一下 在数字电子设备中,同步传输和异步传输都是串行数据传输的一种类型,其中,基于用于同步的时钟脉冲,数据在发送方和接收方之间进行传输。 以下是同步传输和异步传输之间的重要区别- 序号 键 同步传输 异步传输 1 定义 同步传输是一种传输类型,其中在发送器和接收器之间共享一个公共时钟脉冲以允许同

  • 问题内容: Java中的同步方法和同步块有什么区别? 我一直在网上搜索答案,人们似乎对此不太确定:-( 我的看法是,两者之间没有区别,只是synch块的作用域可能更多,因此锁定的时间更少了? 如果在静态方法上使用Lock,则采用什么Lock?班级锁是什么意思? 问题答案: 同步方法将方法接收器用作锁(即,用于非静态方法,而用于静态方法的封闭类)。 blocks将表达式用作锁。 因此,以下两种方法等

  • 本文向大家介绍同步和异步计数器之间的区别,包括了同步和异步计数器之间的区别的使用技巧和注意事项,需要的朋友参考一下 众所周知,在数字电子学中,计数器是由一系列触发器组成的顺序逻辑电路,用于按负或正边沿跳变来计数输入出现的次数。现在,基于触发器的触发方式,我们可以区分同步计数器和异步计数器。 以下是同步计数器和异步计数器之间的重要区别。 序号 键 同步计数器 异步计数器 1 触发 顾名思义,在使用同

  • 问题内容: 对于旅行预订Web应用程序,如果有100个并发用户登录,是否应该通过“同步”或“静态同步”方法来实现机票预订并生成“电子机票编号”? 问题答案: 好了,您是否知道静态方法和实例方法之间的一般区别? 唯一的区别是,在VM开始运行该方法之前,它必须获取监视器。对于实例方法,获得的锁是与您要在其上调用该方法的对象相关联的锁。对于静态方法,获取的锁与类型本身关联- 因此,其他线程将无法同时调用

  • 问题内容: 这两个关键字具有完全相同的效果,还是我应该注意一些事情? 问题答案: 根据此站点的资料:[http]( http://en.csharp- online.net/CSharp_FAQ:_What_is_the_difference_between_CSharp_lock_and_Java_synchronized) //en.csharp-online.net/CSharp_FAQ :

  • 问题内容: 可以说我们有以下两个示例代码: 还有这个 所以有人可以告诉我现在有什么区别吗? 问题答案: 这两种不同的方法在 功能上是等效的 。有 可能 是一个非常小的 性能 差异: 在字节码级别,作为方法访问标记中设置的位, 同步方法 公布其同步需求。JVM查找该位标志并进行适当同步。 该 同步块 通过存储在该方法的类文件中的字节码定义的操作序列实现其同步。 因此,同步方法 可能会以 更快的速度执