2010-11-23 7 views
7

Я посмотрел на BB API (5.0), и я не могу найти способ серийного выполнения партии потоков. Я знаю, что BB имеет ограничение на количество потоков, которые он запускает, поэтому я не хочу запускать 7, если пользователь нажимает на вещи достаточно быстро, но я не могу найти ничего подобного пулу потоков.Queue Thread In Blackberry

Есть ли легкое решение для этого или мне нужно создать структуру данных?

+0

Почему вы хотите несколько потоков? Как насчет того, чтобы пользовательский интерфейс запускал единственный поток, который выполняет X, Y, Z? – seand 2010-11-23 08:11:50

+0

Потому что каждое событие отличается. Я хочу запустить их, чтобы пользовательский интерфейс не блокировался, ожидая, когда что-то будет сделано. – Nicholas 2010-11-23 15:46:48

ответ

10

Если вы просто хотите выполнить кучу задач в одном потоке серийно, а порядок не важен, вы можете создать объект Timer (у которого есть собственный поток), а затем добавить к нему каждую задачу как TimerTask. Если вы планируете его с задержкой 0 или 1, он как можно скорее выполнит эту задачу. А поскольку Таймер имеет только один поток, если вы планируете одновременное выполнение нескольких задач, это гарантирует, что только один будет запускаться одновременно.

Кстати, я говорил с инженером RIM на конференции разработчиков BlackBerry в этом году, и он сказал, что с ОС 5.0 больше нет ограничений на количество потоков - так что это становится все меньше и меньше ,