2016-04-18 3 views
-1

Я читал о параллелизме, JMM и о том, как операции можно переупорядочить и как объект можно увидеть только частично из другого потока и т. Д.Рабочий пример для наблюдения некоторых параллельных трюков в Java?

Я никогда не видел тех, кто в реальной жизни, , Могу ли я иметь рабочий пример, демонстрирующий, по крайней мере иногда, те не очевидные трюки параллелизма/JMM? Такой пример был бы намного лучше, чем чисто теоретические знания.

Я имею в виду примеры, демонстрирующие неожиданное поведение, а не примеры того, как это сделать..

+0

Возможно, это интересное http://vanillajava.blogspot.co.uk/2012/01/demonstrating-when-volatile-is-required.html –

+0

@PeterLawrey Спасибо, это действительно один из примеров, который я искал. Я могу принять это как ответ, если вы пожелаете. –

+0

Как люди хотят закрыть вопрос как «слишком широкий», не давая ничего до сих пор, кроме одного небольшого образца :) –

ответ

1

Некоторые примеры

Showing when volatile is really needed.

False Sharing and Java 7

Я предлагаю вам прочитать остальную часть этих блогов (я написал первый)

Более отличные блоги в этой области.

Nitsan's Blog

Dr Hienz Kabutz blog

Jack Sharazi's blog

Последнее, но не менее, все эти люди являются членами Performance Java User's Group с более чем 1900 членов. Он имеет более 100 презентаций по производительности на Java из более чем 40 динамиков.

0

Существует несколько примеров (например: JavaConcurrency), доступных на $ subject. И есть замечательная книга о java-параллелизме Java Concurrency in Practice. Прочтите его, если вы еще не прошли его. Надеюсь, это поможет.

+1

Я имел в виду примеры, демонстрирующие неожиданное поведение, а не примеры того, как это сделать правильно. Прочитайте книгу, поэтому спрашивайте. –

 Смежные вопросы

  • Нет связанных вопросов^_^