Ddd*_*Ddd 2 .net c# serialization asynchronous json.net
序列化器JsonSerializer有异步版本的方法。
我想澄清一下在什么情况下使用它们?
我通常默认使用简单版本的序列化/反序列化,从不关心异步版本。但在某些情况下可能最好使用异步版本。
这里的相关问题是:
如果数据已经在 a string、byte[]、MemoryStream或类似的内容中:那么只需使用同步反序列化(等);它会更快(异步机制本身有开销)。如果数据从外部源流入(或流出):考虑异步。
第二个问题可以大致近似为“我在服务器上运行吗?”;客户端和控制台应用程序:通常不会受到空闲线程的严重影响(如果我们忽略 UI 阻塞,这可以通过其他方式避免),而在服务器应用程序上:空闲线程(在挂起的 IO 上被阻塞)可能会严重受到影响限制吞吐量。服务器本质上以更高的并发性运行,而线程是有限且昂贵的资源。