我正在开发一个应用程序,该应用程序将本机联系人上传到服务器然后获取响应(JSON,已安装该应用程序的联系人列表)。当原生联系人足够大时,服务器响应会很慢且不稳定。并且用户不能做其他事情。所以我将网络请求放入后台线程。每次我会上传 100 个联系人,做一些任务,然后下 100 个联系人,直到循环完成。
但是在运行中,结果并不如预期。后台线程正在运行,它一直在请求服务器。UI线程被阻塞了,我还是什么都做不了。
这会导致后台线程中的长循环吗?虽然我有 2 个线程,但它们会竞争 CPU 资源(测试设备是 iPod,1 个核心。我认为这可能与核心数无关)?
谁能告诉我有关如何处理这种情况的提示?提前致谢!
更新:
我找到了根本原因。App 委托中的全局变量设置为错误的值,因此 UI 行为很奇怪。我通过评论所有网络请求方法找到了这一点。所以这个问题与多线程无关。抱歉打扰了。