×
Ви дійсно бажаєте відкрити доступ до тестування за курсом Асинхронне програмування в Java на 40 днів?
ВІДЕОУРОК № 3. ExecutorService. ThreadPool. Fork/Join Framework
Після завершення уроку слухач ознайомиться з поняттям багатопотокового програмування, розбере поняття потоків, їх стану, навчиться створювати потоки та використовувати. Також познайомиться з базовими поняттями для роботи з потоками, такими як м'ютекс, монітор та семафор, навчиться використовувати ключове слово synchronized, а також використовувати семафори для одночасного доступу до ресурсів із кількох потоків.
Цей урок є введенням в асинхронне програмування мовою Java. На уроці ви ознайомитеся з концепцією асинхронного програмування, дізнаєтесь про різницю між різними концепціями багатопоточного програмування. А також навчитеся створювати та запускати асинхронні задачі.
На цьому уроці ви дізнаєтесь, як працювати з групою потоків за допомогою ThreadPool. Ми створимо свою реалізацію пула потоків і розберемо, як відбувається управління життєвим циклом потоків за допомогою ExecutorService. Наприкінці уроку ви дізнаєтеся про такий фреймворк як Fork/Join, навіщо він потрібен і навчитеся його застосовувати на практиці.
На цьому уроці ви познайомитеся з набором колекцій, які ефективно працюють у багатопотоковому середовищі, ніж стандартні універсальні колекції з java.util пакету. Буде розглянуто реалізацію часто використовуваних колекцій. Наприкінці уроку ви зможете ознайомитись із блокуючими чергами, які використовуються для роботи з пулами потоків.
На цьому уроці ви детальніше познайомитеся з Future API. Нагадаємо, що ми знаємо про інтерфейс Future. Ви дізнаєтесь про новий клас для роботи з асинхронними завданнями CompletableFuture. Дізнаєтеся в чому різниця між Future та CompletableFuture. Ознайомтеся з деякими інтерфейсами з пакета java.util.function, які активно використовуються в CompletableFuture., а також навчитеся створювати CompletableFuture.
На цьому уроці ви детальніше познайомитеся з CompletableFuture. Попрацюємо з методами runAsync і supplyAsync. Розберемо, що таке виняток у асинхронних завданнях і як із ними працювати. Також буде розглянуто обробку винятків за допомогою методів exceptionally та handle.
Після завершення уроку слухач ознайомиться з методами thenCombine і thenCompose, які використовуються для комбінування двох незалежних і залежних завдань відповідно. Також ознайомиться з методами allOf і anyOf, які використовуються для об'єднання більш ніж двох завдань. А також побачить, як застосовувати ці методи практично.
Після закінчення уроку слухач ознайомиться з асинхронністю у веб-додатках на Spring. На уроці розглядається навіщо і коли використовувати анотацію Async, у чому різниця між асинхронним та синхронним виконанням у веб-застосунку, а також як будувати свої веб-додатки з використанням асинхронності.
Після завершення уроку слухач ознайомиться зі SceduleExecutorService та навчиться створювати відкладені завдання з його допомогою. Також вивчить як використовувати відкладений запуск методів у фреймворку Spring. Навчиться кастомізувати стандартний TaskScheduler, а також детально контролювати реєстрацію завдань через ScheduledTaskRegistrar.
Після завершення уроку слухач ознайомиться з такими патернами проектування, як Producer Consumer та Scatter-Gather. Буде розуміти, як працюють різні інструменти, в основі яких лежать дані патерни. Також ознайомиться на практиці з реалізаціями цих патернів та зможе застосовувати їх у проектуванні власних багатопотокових додатків.
Запитання і відповіді
Онлайн курси мають низку переваг перед офлайн форматом:
- Незалежність від локації. Онлайн дозволяє навчатися де завгодно.
- Збереження часу та грошей на дорогу. Ви економите час та гроші з поїздок на курси та назад.
- Онлайн курси дешевші. Немає потреби в приміщенні та ноутбуках для студентів, тому вартість нижча
- Комфортний темп навчання, постійний доступ до інформації. Навчання у вашому темпі будь-коли і будь-де 24/7. Також є доступ до записаних уроків, чого немає в офлайн форматі.
На ITVDN є 2 формати навчання: Live Online та відео курси. Ціна навчання залежить від обраного вами способу навчання.
Якщо ви хочете навчатися самостійно у форматі відео курсів, вартість навчання складе в середньому 10-15 USD на місяць в залежності від обраного вами пакету підписки.
Live Online – це онлайн навчання з тренером у групах разом із іншими студентами. Навчання у даному форматі коштує в середньому 6-7 USD за одну годину.
Залежить від того, скільки уваги програмуванню ви виділятимете щоденно, яка саме це мова і який у вас досвід кодингу. Середній час на опанування однієї мови за умови регулярних занять хоча б 2 год/день:
- новачки – від 3 до 6 місяців;
- ті, хто мають базові знання з іншої мови – від 1 до 3 місяців;
- професійні програмісти – до 1 місяця.
Найкращий варіант інвестиції часу – 8 годин щоденно (20% теорії + 80% практики). Більше практики – швидше опанування програмування.
Для опанування ІТ-спеціальності треба виділити не менше 500 годин, з яких близько 100 годин – на перегляд відео уроків або відвідування онлайн занять із ментором, а 400 – на виконання практичних завдань за пройденими темами.
В залежності від того, скільки часу ви готові виділяти на навчання в день, ви зможете пройти програму за 3-8 місяців. Якщо у вас є певна база знань з ІТ, кількість необхідного часу буде меншою.
Також тривалість навчання залежить від обраної вами спеціальності, оскільки набір технологій, які ви маєте вивчити, буде різним.
Починати варто з тих, які містять в назві слово “Стартовий”. Такі курси мають вступний матеріал для знайомства з мовою або технологією.
Якщо ж ви плануєте навчатися за конкретною спеціальністю у форматі відео курсів, перейдіть на сторінку спеціальності і прокрутіть до заголовку “Відео курси за спеціальністю …”. Нижче буде список відео курсів, котрі відсортовано в порядку необхідності вивчення.
Ще нижче ви знайдете Roadmap зі спеціальності – путівник, на якому зображені відео курси у вигляді дерева, що також вас легко зорієнтує у послідовності проходження курсів.
Якщо ви обираєте Live Online навчання з тренером, все дуже просто:
- відвідуйте всі заняття, вчасно виконуйте д/з;
- додатково дивіться відео уроки на ITVDN;
- після кожного уроку проходьте коротке тестування;
- практикуйтеся в Інтерактивному практикумі;
- спілкуйтеся з одногрупниками в ході вирішення д/з, задавайте питання ментору на уроках та поза ними;
- в кінці кожного курсу складайте екзамен на TestProvider (та отримуйте Сертифікати);
- в кінці всього навчання проходьте екзамен зі спеціальності і отримайте Диплом.
Ми маємо спеціальний розділ – “Вакансії”, котрий допомагає нашим студентам шукати першу роботу в ІТ. Детальніше про можливості та призначення розділу за посиланням.
А для тих, хто навчається онлайн з ментором, у нас додатково передбачена індивідуальна допомога HR-фахівця щодо підготовки до працевлаштування з першого дня навчання і до отримання першого job-оферу. Вона включає в себе допомогу в оформленні соцмереж, підготовці резюме, проведення пробної співбесіди, надання порад щодо пошуку роботи та самопрезентації тощо.
На жаль, дана послуга на ITVDN не передбачена, однак ви можете замовити індивідуальну консультацію з нашим ментором. Деталі ви знайдете за посиланням.
На ITVDN відсутні курси для дітей, тому комфортний вік для початку навчання за нашими матеріалами – від 14 років.
Ніяких вимог до вашого рівня англійської ми не висуваємо, оскільки всі навчальні матеріали йдуть російською або українською мовами. При цьому базові знання англійської будуть корисні для комфортного пошуку інформації в гуглі, читання документацій в інтернеті тощо.
На ITVDN можна пройти повне навчання з нуля до спеціаліста рівня Trainee/Junior. Якщо ви вже практикуючий розробник, наші відео курси допоможуть поглибити ваші знання до рівня Middle.
Після закінчення дії вашої підписки доступ до відео курсів, на жаль, буде закрито. Однак ви зможете користуватися тими навчальними матеріалами, які ви завантажили на свій девайс під час навчання.
Ні, знижки не додаються.
Відгуки наших студентів
Відгуки в DOU
4,9/5 - 195 відгуків
Відгуки в Facebook
5,0/5 - 704 відгуки
Відгуки в Google
4,9/5 - 814 відгуки