Я разработчик Java EE, и я хочу получить навыки разработки параллелизма.
Не могли бы вы предоставить мне некоторые задания, идеи и т. Д. - только для обучения и обучения параллельному программированию?java concurrency assignments
ответ
Для начала просто начать кодирование, чтобы получить представление о некоторых из проблем, которые могут возникнуть.
Для начала попробуйте написать следующее:
- Как бы реализовать простую очередь блокировки?
- Как вы останавливаете поток?
- Как вы гарантируете, что только одна тема может читать и писать в коллекцию за раз?
- Что произойдет, если вы измените коллекцию, в то время как другой поток выполняет итерацию по ней.
- и т.д., и т.д.
Просто выходить в интернет и, возможно, сделать поиск интервью вопросы о параллельности.
Существует блестящая книга о параллелизме Java под названием «Java Concurrency in Practice». Я думаю, что это лучшая отправная точка для глубокого погружения в расширенный параллелизм.
Java Concurrency in Practice (Amazon)
я писал о новых параллелизм решений с Spring Framework 3 и Java EE 6 here.
В нем объясняется, как выполнять асинхронные методы декларативно с помощью @Async
или аннотации Java EE @Asynchronous
.
Эти аннотации - это всего лишь способ абстрагироваться от сложной параллельной логики.
Вы можете настроить Spring для использования класса Executor
для выполнения логики параллелизма. Класс Exceutor был представлен на Java 5 и хорошо объяснен в книге Java Concurrency in Practice вместе с другими классами в пакете java.util.concurrent
.
В статье также показано, как использовать ту же самую услугу Executor
в коде и весной. Это позволяет использовать один и тот же пул потоков как для вашей логики параллельного программирования, так и для вашей параллельной логики, обрабатываемой контейнером приложения.
Кроме того, вы можете многому научиться из документации Java. Прочитайте обо всех классах в параллельном пакете и особенно Executor class. Это, по крайней мере, моя самая популярная документация.
Я предлагаю взглянуть на JCSP. http://www.cs.kent.ac.uk/projects/ofa/jcsp/
С JCSP можно доказать, что ваши модели без взаимоблокировки.
IBM больше информации об этом http://www.ibm.com/developerworks/java/library/j-csp1.html
- 1. Java Assignments
- 2. Java Swing EDT & Concurrency
- 3. spring-mvc + java + concurrency
- 4. Java thread concurrency
- 5. Java LongAdder sumThenReset Concurrency
- 6. JAVA Thread Concurrency
- 7. Java Iterator Concurrency
- 8. Java - Advanced Concurrency Issue
- 9. java concurrency - синхронизированный блок
- 10. Простой Java Concurrency Issue
- 11. Java xStream processAnnotations concurrency
- 12. Java 7 Concurrency
- 13. java concurrency: flag/event
- 14. Java Concurrency на Android
- 15. Java Concurrency: lock effiency
- 16. Java Concurrency & Tasks
- 17. Concurrency java on for loop
- 18. Java Concurrency в сервере приложений
- 19. Java Concurrency wake up thread
- 20. Java Concurrency in Practice Lising7.9
- 21. Java Concurrency: CAS vs Locking
- 22. Концептуальный вопрос о Java Concurrency
- 23. Java Concurrency на основе условия
- 24. Когда использовать Move Constructors/Assignments
- 25. Параллелизация (Java 8) vs Concurrency (Java 7)
- 26. javax.sound.midi.Sequencer concurrency
- 27. Java Concurrency: найти задачу в пуле задач
- 28. вопрос о «Java Concurrency in Practice» пример
- 29. java concurrency, производитель (брокер) и потребитель
- 30. Java 8 Lambdas and Concurrency Объяснение
благодарим вас за ответ! – dev