![]() |
|
Модераторы: javastic, AntonSaburov |
![]()
|
|
| Goduy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 11.11.2006 Репутация: нет Всего: нет |
Допустим, у нас есть два Screen'a - Form и List (вернее два класса, наследованных от Form и List).
В Form есть две команды - Back (перейтина на экран List) и Calc (что-то посчитать). Обработчик команд синхронизированыый (sinchronized). Сначала мы видим экран Form и допустим мы быстро нажали сначала на Back, а потом на Calc. Как я понимаю, сначала вызовется обработка Back, а обработка Calc будет ждать, пока первая команда не обработется. Обработка Back включает в себя показ List и передачи ему управления. У меня вопрос: после того, как List'у передано управление, Calc будет обрабатываться или нет? Если да, то можно ли сделать так, чтобы после перехода на другой экран, все обработки прежнего экрана, как бы это по лучше сказать, "исчезали" чтоли, кароче не обрабатывались Заранее благодарен |
|||
|
||||
| W0LF |
|
||||
![]() alexander lonsky ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1164 Регистрация: 9.2.2006 Где: Ukraine.Dnepropet rovsk Репутация: 19 Всего: 20 |
Хотелось бы на кусок кода посмотреть вначале...
Да, будет ждать, но для этого ничего не надо синхронизировать... Если у тя по нажатию клавиши будет что-то долго выполняться, то оно будет выполняться в системном потоке(тем самым вешая мидлет), и вторая задача(обработка calc) уже будет в очереди. Синхронизация же нужна для критической секции, которую будут кушать два или более потоков одновременно.
Не будет обрабатываться, но если в твоем листе есть комманды(например Ok, Cancel), то будет выполнена автоматом та, которую первой добавили к новому Displayable(в нашем случае Listу) Это сообщение отредактировал(а) W0LF - 11.11.2006, 15:36 -------------------- iOS developer |
||||
|
|||||
| Goduy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 11.11.2006 Репутация: нет Всего: нет |
Ого! У меня еще такой вопрос, как лучше обрабатывать команды, в одном классе или в разных? Если не сложно, поделитесь своими принципами структуризации обработки клавиш P.S. Извините за такую навязчивость со своими вопросами... Если в J2Me прокачаюсь, потом тоже буду новичков лечить |
|||
|
||||
| W0LF |
|
||||||
![]() alexander lonsky ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1164 Регистрация: 9.2.2006 Где: Ukraine.Dnepropet rovsk Репутация: 19 Всего: 20 |
Я тож еще новичек Не совсем.
Если тебе нужен пул потоков, то делаешь его сам, ну или мона с ЕЕ скомуниздить(java.util.concurrent.ThreadPoolExecutor)
Ну, эт я не знаю - почему так происходит, но так есть! Делаешь один коммандлистенер на все твои вьюверы(формы,листы). В каждом вьювере пишешь метод(пусть commandAction) и потом в твоем коммандлистенере в методе commandAction вызываешь commandAction соответствуещего вьювера Добавлено @ 16:25 Прикол в том, что +50 байт в каждый вьювер за имплемент коммандлистенера -------------------- iOS developer |
||||||
|
|||||||
![]()
|
FAQ раздела лежит здесь! |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |