我的应用程序使用Web服务。每当我打电话给服务器时,我都会创建一个后台线程,调用自定义控件来显示进度条并阻止用户操作,然后使用调度程序显示结果并删除进度条。请注意我正在使用HTTP客户端与后台工作者对Web服务进行异步调用。我发现使用后台线程比直接从UI线程调用Web服务需要2或3秒才能加载
如何减少因使用后台线程而导致的额外加载时间?设置线程优先级可以解决问题吗?
如果我们正在创建一个后台线程,它专门用于我们编码的操作,那么在后台线程中进行异步调用有什么好处呢?
是否可以仅从UI线程调用Web服务,因为在使用后台线程进行服务调用时,用户被阻止采取任何操作?
答案 0 :(得分:1)
考虑使用async / await和Tasks来实现目标。虽然你看到的性能差异肯定是奇怪的,不应该发生异步/等待和任务更容易使用(例如没有调度程序),你可以通过更清晰的代码找到你的bug。