2009-12-10 3 views
1

Quelqu'un peut-il souligner un turorial qui explique le filetage ?? Dans mon application, je télécharge des données (même de grandes tailles) sur le servelet. Le processus de téléchargement peut prendre beaucoup de temps en fonction de la bande passante, comme d'habitude. J'ai donc besoin d'implémenter le threading pour que le processus de téléchargement se fasse en arrière-plan. Tous les experts ici, s'il vous plaît poster un exemple ou un lien tutoriel ou quelque chose comme ça. Merci d'avance.Demande HTTP utilisant le filetage de l'iphone

Répondre

2

Une manière très simple et robuste de lancer des tâches d'arrière-plan utilise NSOperation et NSOperationQueue. Il vous permet de créer une classe (héritée de NSOperation) qui représente une tâche qui peut être placée dans une file d'attente traitée en arrière-plan.

NSOperationQueue documentation

Une autre façon facile de lancer quelque chose dans l'arrière-plan est en utilisant la méthode performSelectorInBackground:

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

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

C'est incroyable !!! – Nithin

+0

mais quand je l'implémente, un problème se produit; Si je donne cette leçon, cela fonctionne bien pour la première fois, mais si j'essaie de l'appeler à nouveau pendant que le premier est lancé, le nouveau est exécuté et l'autre est juste perdu. Ce que j'ai appris à savoir, c'est les mettre en file d'attente, mais je ne sais pas comment l'appliquer. – Nithin

1

Si vous voulez voir une mise en œuvre effective de ce fait, un coup d'oeil à la code source pour ASIHTTPRequest.

+0

Pour son application, il semble qu'il devrait simplement utiliser cette enveloppe et ne pas s'inquiéter de l'enfilage sous-jacent lui-même. –