如何在向服务器发送多个请求时使用多个线程?

时间:2013-03-09 13:15:45

标签: ios multithreading

我正在开发一个iOS应用程序,用户可以在其收藏夹列表中存储位置(地点,建筑物等)。此列表存储在MySQL数据库中,通过HTTP REQUEST,我可以在Map上检索并显示它们。此外,用户最喜欢的位置存储在设备[NSUserDefaults standardUserDefaults]上。但是,由于用户可能已从其列表中删除了某个位置,因此如果数据库中仍存在,则必须仔细检查每个位置(存储在设备中)。在这里,我必须提一下,一旦用户登录,app就会存储他的信息(下载最喜欢的位置并将其存储在设备中),下次用户自动登录。用户可以使用“删除帐户”从特定设备中删除任何个人详细信息。所有位置都以“逗号分隔符”文件的形式存储在设备中。

我的问题是,如何在阅读每一栋建筑物的同时提高应用程序的速度,以及1)检查是否包含在用户数据库列表中的用户存储列表中。目前,我的地图保持冻结(小方块),直到完成上述过程,然后加载地图并移动到用户的当前位置。我有一个冻结时间约。 4-5秒。

我试图打电话给负责的方法, “从文件中读取每个位置>检查用户存储的收藏夹列表中是否存在>(如果是)检查数据库中是否仍存在于用户喜欢的列表中>(如果是)添加注释>(否则)从存储中删除它列表[删除对象]“ 使用

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,
                                             (unsigned long)NULL), ^(void) {
        //call method
});

但延迟时间仍为03.7 - 04.9秒

我使用dispatch_get_global_queue错了吗?

提前致谢。

0 个答案:

没有答案