#java #multithreading #spring
#java #многопоточность #spring
Вопрос:
Если я хочу запустить Java-приложение с поддержкой Spring, которое выполняет обработку документов, предоставляет ли контейнер мне многопоточные возможности сам по себе? У меня нет никакого многопоточного кода в приложении, но мне интересно, какую выгоду я мог бы извлечь из многопоточности, предлагаемой Spring container?
Комментарии:
1. Что вы подразумеваете под Spring container? Вы имеете в виду [IOC] ( static.springsource.org/spring/docs/current /… ) ?
Ответ №1:
Вы можете использовать Spring ThreadPoolTaskExecutor
. это будет означать изменение вашего приложения — Spring умный, но он не может читать ваши мысли.
http://static.springsource.org/spring/docs/3.0.x/reference/scheduling.html
Ответ №2:
В Spring нет поддержки многопоточности как таковой, кроме помощи в координации / планировании выполнения задач через Quartz. Многопоточное выполнение кода в Spring ничем не отличается от того, если бы вы делали это в автономном Java-приложении. Если у вас есть синглтоны и вы не сохраняете состояние в beans, тогда вы просто готовы к работе. Ниже приведены отличные статьи, которые прояснят множество вопросов, касающихся Spring и потокобезопасности:
http://www.javalobby.org/articles/thread-safe/index.jsp?source=archives