gpt4 book ai didi

c# - 异步 Json.net 反序列化

转载 作者:行者123 更新时间:2023-11-30 14:58:00 26 4
gpt4 key购买 nike

因为它is mentioned here (很棒的博客,顺便说一句),为了 CPU 绑定(bind)调用的正确工作,需要适当的异步调用。例如,不

    await Task.Run(() => Thread.Sleep(100));

但是

    await Task.Delay(100);

是否有 Json.net 反序列化的模拟?

    await TaskEx.Run(() => JsonConvert.DeserializeObject<PocoProduct>(resultString));

使用上下文:

async public Task<ProductsAnswer> RequestServerAsync()
{
// Just a wrapper for await httpWebRequest.GetResponseAsync() and await postStreamReader.ReadToEndAsync()
var resultString = await new NetworkManager().GetAsync(Constants.SERVER_REQUEST);

// await TaskEx.Run(() => JsonConvert.DeserializeObject<PocoProduct>(resultString));
var answer = await ParseProductsFromString(resultString);

return answer;
}

最佳答案

该博文的重点是避免阻塞对不受 CPU 限制的操作的调用,例如延迟或磁盘/网络 IO。

解析 JSON 本质上是一个受 CPU 限制的操作;您能做的最好的事情就是将该工作移至不同的线程。

关于c# - 异步 Json.net 反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19912343/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com