2009-12-10 71 views
1

任何人都可以指出一个解释线程?在我的应用程序中,我将一些数据(甚至是大尺寸图像)上传到servelet。像往常一样,上传过程可能需要相当长的时间,具体取决于带宽。所以我需要在其中实现线程,以便上传过程在后台进行。这里的任何专家都可以发布一个示例或教程链接或类似的东西。 在此先感谢。HTTP请求使用线程从iphone

回答

2

启动后台任务的一种非常简单和可靠的方式是使用NSOperationNSOperationQueue。它允许您创建一个类(从NSOperation继承),该类表示可放置在后台处理的线程队列中的任务。

NSOperationQueue documentation

在后台启动东西的另一个简单的方法是使用performSelectorInBackground方法:

- (void) launchTask { 
    [self performSelectorInBackground:@selector(backgroundTask) withObject:nil]; 
} 

- (void) backgroundTask { 
    // stuff to do in background 
} 
+0

这太神奇了! – Nithin

+0

但是当我实现这个时,一个问题正在发生;如果我给laucnh这个任务,它第一次工作正常,但如果我尝试再次调用它时,第一个运行,较新的执行,另一个只是丢失。我所知道的是将它们排队,但不知道要执行它。 – Nithin

1

如果你想看到实际的实现这一点,看看在源代码为ASIHTTPRequest

+0

对于他的应用程序,这听起来像他应该使用该包装,而不是担心自己的基础线程。 –