Многопоточное программирование это СЛОЖНО!

Писать корректные однопоточные приложения сложно. Писать корректные многопоточные приложения на несколько порядков сложнее. Потому что, все, что может поломаться в однопоточном приложении, может также сломаться и в многопоточном, но в добавок к этому много других подводных камней скрываются под потоками. В этом докладе я хочу рассказать о том, что делает многопоточное программирование таким сложным: начиная с хардвара и двигаясь по всему софтверному стэку (ОС, рантайм, приложение). Поговорим про то, какие фундаментальные вещи полезно знать и о чем стоит помнить прежде чем нырять с головой в многопоточность. А еще мы рассмотрим какие альтернативные модели многопоточности существуют и как они могут упростить нам жизнь.


Дмитрий Вязеленко 

Java developer with 10 years of professional experience interested in concurrency, performance and lock-free programming. Since 2008 working in Switzerland at Sowatec AG, where I'm responsible for development of its key framework. I am a Chief Disorganizer for a JCrete unconference.