Беда с пониманием многопоточности?
На собеседованиях спрашивают, а на проекте потом не дают мяса, чтобы нормально научиться?
Может ты уже 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
(если этого не случилось, напиши apofig@gmail.com или оставь комментарий к этому посту - решим вопрос)
Все темы разбираются на поверхностном уровне. Цель семинара, дать обзор и направить в правильное русло. Дальнейшая проработка темы - требует твоей практики.
Успехов!
Я была на этом докладе. Могу смело рекомендовать - он стоит того. Во-первых, отличнейшая идея с mind map. Когда все так структурировано и воспринимается легче и укладывается по нужным полочкам в голове. Во-вторых, даже не верится, что докладчик имеет относительно недавний опыт с многопоточностью, все объясняется очень уверено, понятно, доступно. В-третьих, ни один вопрос не оставлен без внимания. В-четвертых, реальные примеры кода, которые пишутся при тебе - как будто и сам написал - еще один отличный способ для понимания и запоминания. И высланный материал, уверена, еще пригодится, когда столкнусь с каким-то вопросом в многопоточности. Спасибо, Саша, за отличный семинар!
ОтветитьУдалить