Если нельзя, но очень хочется, то нужно обязательно и ничего в мире не стоит того, чтобы делать из этого проблему!


Интересна Java? Кликай по ссылке и изучай!
Если тебе полезно что-то из того, чем я делюсь в своем блоге - можешь поделиться своими деньгами со мной.
с пожеланием
столько времени читатели провели на блоге - 
сейчас онлайн - 

среда, 1 апреля 2015 г.

Ликбез по многопоточности в Java

Беда с пониманием многопоточности? 
На собеседованиях спрашивают, а на проекте потом не дают мяса, чтобы нормально научиться? 
Может ты уже Middle или даже Senior, а тема все так же на Junior уровне, что аж стыдно за это?
Или ты Junior только что с собеседования, которое провалил в том числе из за вопросов по многопоточности? 

У меня то же это долго было белым пятном в моем резюме. Но как-то раз в мою жизнь постучалась возможность и билетом в нее был подготовленный доклад на тему многопоточности. Тренинг надо было провести, меня как тренера собирались собеседовать по теме той самой многопоточности. Нетворкинг рулит - нашелся сразу хороший ментор, который давал вводные, отпуска меня на пару дней рисерчить и после на митинге с ним мы обсуждали то, что я наковырял. Так 4-5 итераций и база была освоена. Понимание появилось. 


Тренинг в итоге отменился, но тему я решил закрепить. И ничего нет лучше закрепления новой темы, чем подготовить на ее тему доклад. Еще пару дней подготовки после чего доклад состоялся. И я его записал! А записью могу с тобой поделиться. И чтобы видяшка у тебя не залежалась на полке, я выставлю ей цену - ту сумму, которую заплатили те ребята, которые пришли на семинар.

Что ты получишь?
  • смонтированную видеозапись семинара (2,5 часа)
  • презентацию в формате mind map - она намного приятнее, чем простая плоская преза поскольку mind map специально лучшего усвоения информации людьми.
  • исходные коды всех примеров
  • исходники примеров и презентацию буду постоянно пополнять, потому ты единожды приобрев ее будешь иметь обновленную версию.
  • ссылки на полезные статьи которые находил пока рисерчил, например по вопросам на собеседовании
  • ссылки на книги, которые ты можешь купить и прочитать
  • а на все то, что по этой теме я придумаю после (вебинары. семинары) у тебя будет скидка 30%
Все это поможет тебе больше разобраться в теме.

Список покрытых топиков.
  • "паралельные" вычисления - разница Parallel vs Concurrency vs Distributed
  • какие проблемы решает Concurrency - проблему целостности данных
  • что такое шедулер операционной системы и его роль в многопоточности
  • процессы и потоки
  • реализация многопоточности в Java
  • запускаем Thread - способы запуска: через Runnable, через Thread   с помощью java.util.concurrent.Executors
  • состояние потока: new, runnable, running, waiting, blocked, sleeping, dead.
  • правильная и неправильная остановка stop() и interrupt()
  • сон в потоке :) метод sleep()
  • "спасибо, я - все" yield()
  • приоритеты потоков и на что они влияют
  • доступ к потоку из потока
  • присоединение к потоку join()
  • группа потоков, ThreadGroup
  • interrupt / interrupted / isInterrupted - основные грабли
  • потоки демоны
  • критическая секиця, synchronized, монитор
  • data race
  • методы Оbject - wait notify notyfyAll. Основные грабли
  • volatile
  • java memory model, happens before 
  • организация heap, stack
  • поверхностный обзор java.util.concurrent 
После оплаты ты получишь материалы на email.
(если этого не случилось, напиши apofig@gmail.com или оставь комментарий к этому посту - решим вопрос)

Все темы разбираются на поверхностном уровне. Цель семинара, дать обзор и направить в правильное русло. Дальнейшая проработка темы - требует твоей практики.

Успехов!

1 комментарий:

  1. Я была на этом докладе. Могу смело рекомендовать - он стоит того. Во-первых, отличнейшая идея с mind map. Когда все так структурировано и воспринимается легче и укладывается по нужным полочкам в голове. Во-вторых, даже не верится, что докладчик имеет относительно недавний опыт с многопоточностью, все объясняется очень уверено, понятно, доступно. В-третьих, ни один вопрос не оставлен без внимания. В-четвертых, реальные примеры кода, которые пишутся при тебе - как будто и сам написал - еще один отличный способ для понимания и запоминания. И высланный материал, уверена, еще пригодится, когда столкнусь с каким-то вопросом в многопоточности. Спасибо, Саша, за отличный семинар!

    ОтветитьУдалить