此文件中如何处理同步问题?

问题描述 投票:0回答:1

我正在考虑在我的项目中使用 Gson。在审查其功能时,出现了有关其并发处理的问题。

Gson在实现过程中如何处理潜在的并发问题?如果多个线程使用 getter 或 setter 访问相同的功能,这会导致问题吗?或者这个问题在图书馆的其他地方得到解决?

我引用的文件列在下面

NonNullElementWrapperList.java

我手动查看了该文件,但不知道其应用在哪里。另外不知道目前在哪里处理这个问题。

synchronization gson
1个回答
0
投票

我手动查看该文件,但不知道其应用在哪里

NonNullElementWrapperList
是方法
JsonArray.asList()
使用的内部类。无法保证它是否是线程安全的。

一般来说,您应该考虑所有 Gson 类和方法都不是线程安全的,除非它们的文档明确这么说。

文档目前仅保证

Gson
是线程安全的:

Gson 实例是线程安全的,因此您可以跨多个线程自由地重用它们。

对于

TypeAdapter
JsonSerializer
JsonDeserializer
,文档建议实现应该是线程安全的,但 Gson 无法强制自定义用户定义的实现遵守这一点。

© www.soinside.com 2019 - 2024. All rights reserved.