Многопоточное программирование на платформе Netbeans - PullRequest
3 голосов
/ 22 февраля 2011

Я просмотрел книги / документы по NBP, но ничего не говорит напрямую о многопоточном программировании в NBP. Есть ли что-то конкретное, что требует внимания в отношении многопоточности в NBP? Итак, если я хочу создать многопоточное приложение NBP, мне просто нужно следовать обычным практикам многопоточного программирования на Java, верно?

Ответы [ 3 ]

2 голосов
/ 28 февраля 2011

Главное, на что нужно обратить внимание - это RequestProcessor и RequestProcessor.Task.RequestProcessor - это пул потоков;RequestProcessor.Task - это задание.

Большая часть того, что делает RequestProcessor, аналогична тому, что ExecutorService теперь делает в JDK.Главное, что нелегко с JDK, - это создание задачи, которую можно перепланировать и запускать повторно.Это очень полезно, если, скажем, вы хотите выполнить какую-то работу после истечения времени ожидания, когда пользователь перестает набирать:обновите свои узлы по своему желанию.

Если вы делаете что-то, что касается компонентов Swing, не забывайте всегда запускать этот код с EventQueue.invokeLater (Runnable) - и никогда не использовать EventQueue.invokeAndWait () - это рецепт для взаимоблокировок.

Если у вас есть код, который иногда может вызываться в потоке событий, а иногда нет, у NetBeans есть простой способ обеспечить выполнение вашего кода в потоке событий: Mutex.EVENT.readAccess (новый Mutex.Action () {...})

1 голос
/ 22 февраля 2011

Существует ряд классов, которые поддерживают многопоточное программирование в RCP NetBeans.

В пакете org.openide.util есть несколько интересных классов, связанных с потоками и RCP.

Большинство всех этих классов помогают вам создавать потоки и тому подобное. Вам все еще нужно будет использовать методы многопоточного программирования Java после того, как вы их создали.

Возможно, вы захотите взглянуть и на интерфейс пользователя Progress .

1 голос
/ 22 февраля 2011

Мне просто нужно следовать обычным практикам многопоточного программирования на Java, верно?

Да

Только компилятор Java будет компилировать вашJavacode от вашего NBP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...