ios - JSONDecoder 和 JSONEncoder 类是线程安全的吗?

标签 ios swift thread-safety

我找不到任何可以表明这两种方式的证据。

我目前每次都在创建新实例并使用自定义解码/编码选项配置它们,并且想知道我是否可以创建一个单例并在每次需要时出售它。

最佳答案

JSONDecoderJSONEncoder 的代码来看,它们似乎是线程安全的。

encode()decode() 都使用 JSONSerialization(自 iOS 7 和 macOS 10.9 以来一直是线程安全的),并且这两种方法都在局部变量中创建自己的私有(private)解码/编码对象。据我所知,没有共享存储空间。

代码可以在这里找到: https://github.com/apple/swift-corelibs-foundation/blob/master/Sources/Foundation/JSONEncoder.swift

关于ios - JSONDecoder 和 JSONEncoder 类是线程安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50257026/

相关文章:

ios - swift - 来自预填充 SQLite 的 CoreData

swift - 设置 setNumberRows 是否会取消分配不需要的行?

html - 对象在 iphone 中没有占据全宽

ios - 下载图像时 UICollectionView 崩溃

ios - 如何识别标签点击自定义 UITableViewCell - Swift 3

java - 如何制作可以接受参数的线程安全单例类?

c++ - CWnd::GetSafeHwnd() 和 CWnd::m_hWnd 是线程安全的吗?

iphone - 一个线程将BOOL更改为YES,另一个线程看不到更改

android - Unity3d - 触摸输入问题

ios - SPPlaylist.m 中出现 CocoaLibSpotify 错误