2009-09-24 2 views
1

Может ли кто-нибудь дать мне «простое» определение темы Thread in android. Я прочитал определение на Android-сайте, но мне это очень сложно представить!Что такое thread (java, android)?

+0

Можете ли вы уточнить? Что вы не можете себе представить? –

+3

Нить на Android такая же, как нить на любой другой платформе/языке программирования. Возможно, Wikipedia может помочь вам начать работу над темами. –

+0

Я прочитал название книги «Java для чайников». Определение было описано легко понять (но не имеет Thread). – Dennie

ответ

2

Похоже, вы могли бы использовать пример полу реального мира. Google показал это handy blog post.

Общая рекомендация (как предлагалось, см. В Википедии): Thread. Потоки практически одинаковы во всех рамках.

0

Модели потоков для Android немного разные, так как они рекомендуют использовать AsyncTask. Прочитайте документацию AsyncTask. Это как нить.

+0

Общеизвестно, что такие виды функций, как потоки *, могут быть трудными для использования правильно. У Net есть свой BackGroundWorker, который по существу является классом-оболочкой для потока, который абстрагирует некоторые детали управления потоками. При этом упрощение потоков таким образом также затрудняет выполнение более продвинутых задач: AsyncTask может быть создан только в основном потоке пользовательского интерфейса и может запускаться только один раз. Все зависит от того, чего вы пытаетесь достичь. –

2

Нить лучше всего представить, изображая нить (lolz). Допустим, вы сделали программу, чтобы показать текст на экране. Теперь, когда вы запускаете программу, все выполнение кода происходит на одной воображаемой строке (потоке).

Теперь вы расширяете свою программу, чтобы разместить новую строку текста на экране каждые 10 секунд. У вас есть несколько вариантов:

1: Сделайте цикл while и внутри цикла, покажите текст и запустите программу (спящий режим) на 10 секунд. Неприятный побочный эффект заключается в том, что вы не можете взаимодействовать со своей программой вообще в течение каждых 10 секунд (потому что нить спала). Это не то, что вы хотите :)

2: Создайте новый поток с циклом while, который отображает текст на экране и заставляет поток спать каждые 10 секунд. Теперь, потому что это второй поток спит в течение 10 секунд вы можете взаимодействовать с первым основным потоком :)

Учебник: http://www.javabeginner.com/learn-java/java-threads-tutorial

Успехов, может источник с вами.

Смежные вопросы