В моей программе я написал класс, который обновляет группу слушателей каждый раз, когда срабатывает новое значение. Поэтому я использую SingleThreadExecutor
, пример должен прояснить ситуацию. Что меня беспокоит, так это то, имеет ли смысл когда я запускаю это так:
Class Update() {
ExecutorService svc = Executors.newSingleThreadExecutor();
svc.execute(new Runnable() {
public void run() {
if(!theListeners.isEmpty()) {
for(IgpsdListener l : theListeners) {
l.update(jsonObject);
}
}
}
});
Я слышал, что создание потоков - довольно дорогое действие в JAVA, поэтому мне интересно, правильно ли я его использую. Я имею в виду, он каждый раз создает новый Runnable
объект, верно? Даже Исполнитель использует только один-единственный поток.
Заранее спасибо за любую помощь и просвещение.
nyyrikki