2009-09-24 7 views
1

Quelqu'un peut-il me donner une définition "simple" de Thread dans android. J'ai lu la définition sur le site Android mais c'est vraiment difficile pour moi d'imaginer!Qu'est-ce qu'un thread (Java, Android)?

+0

Pouvez-vous être plus précis? Qu'est-ce que tu ne peux pas imaginer? –

+3

Un fil sur Android est identique à un fil de discussion dans un autre langage de programmation/plateforme. Peut-être que Wikipedia peut vous aider à démarrer sur les discussions. –

+0

J'ai lu un nom de livre "Java for Dummies". La définition était décrire facile à comprendre (mais n'a pas Thread). – Dennie

Répondre

2

Vous semblez que vous pourriez utiliser un exemple semi-réel. Google a révélé ce handy blog post.

Pour une référence générale (comme mikem suggéré) voir Wikipedia: Thread. Les threads sont à peu près les mêmes dans tous les cadres.

0

Les modèles de thread pour Android sont un peu différents, dans la mesure où ils recommandent d'utiliser un AsyncTask. Lisez la documentation AsyncTask. C'est comme un fil.

+0

Il est courant de voir ces types de fonctionnalités comme des threads * peuvent être difficiles à utiliser correctement. Net a son BackGroundWorker qui est essentiellement une classe wrapper pour un thread qui résume certains détails de la gestion des threads. Cela étant dit, simplifier les threads de cette façon rend également plus difficile certaines choses plus avancées: AsyncTask ne peut être créé que sur le thread principal de l'interface utilisateur, et ne peut être exécuté qu'une seule fois. Tout dépend de ce que vous essayez d'atteindre. –

2

Un fil peut être mieux imaginé en imaginant un fil (lolz). Disons que vous avez créé un programme pour afficher du texte à l'écran. Maintenant, lorsque vous exécutez le programme, toute l'exécution du code se passe sur une ligne imaginaire (thread).

Maintenant, vous étendez votre programme pour placer une nouvelle ligne de texte à l'écran toutes les 10 secondes. Vous avez peu d'options:

1: Faites une boucle while et à l'intérieur de la boucle affichez le texte et faites l'arrêt du programme (sleep) pendant 10 secondes. L'effet secondaire Nasty est que vous ne pouvez pas interagir avec votre programme du tout pour la durée de toutes les 10 secondes (parce que le fil est en sommeil). Ce n'est pas ce que vous voulez :)

2: Créez un nouveau fil avec une boucle while qui affiche le texte à l'écran et fait dormir le thread toutes les 10 secondes. Maintenant, parce que ce second fil dort pendant 10 secondes, vous pouvez toujours interagir avec votre premier thread principal :)

Tutoriel: http://www.javabeginner.com/learn-java/java-threads-tutorial

Bonne chance, la source peut être avec vous.

Questions connexes