Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

freeCodeCamp

Multithreading for Beginners in Java - Comprehensive Guide

via freeCodeCamp

Overview

Dive into a comprehensive 5-hour 55-minute course on multithreading, focusing primarily on Java but with concepts applicable to other programming languages. Learn the theory behind each concept followed by practical code examples. Begin with an introduction to multithreading and sequential execution, then progress through creating threads, synchronization, executor services, and advanced topics like locks, atomic variables, and fork-join pools. Explore crucial concepts such as daemon threads, thread priority, wait and notify mechanisms, producer-consumer problems, and various thread pool executors. Gain insights into synchronised collections, countdown latches, blocking queues, concurrent maps, and cyclic barriers. Address common multithreading challenges like visibility problems and deadlocks. Access accompanying code examples on GitHub to reinforce your learning throughout the course.

Syllabus

⌨️ Instructor & Course Introduction
⌨️ Introduction to Multithreading
⌨️ What's sequential Execution
⌨️ Creating threads using Runnable interface
⌨️ Creating threads using Thread class
⌨️ Difference between two approaches of creating threads
⌨️ Join method in Java
⌨️ What are Daemon Threads?
⌨️ What is Thread priority?
⌨️ What are synchronised blocks?
⌨️ Problems of using synchronised blocks
⌨️ Wait & Notify
⌨️ Producer & Consumer using wait & notify
⌨️ Introducing Executor Service
⌨️ Single Thread Executor
⌨️ Fixed Thread Pool Executor
⌨️ Cached Thread Pool Executor
⌨️ Scheduled Thread Pool Executor
⌨️ What's the Ideal Pool size?
⌨️ Callable & Future
⌨️ Introducing synchronised collections
⌨️ Countdown latch
⌨️ Blocking Queue
⌨️ Concurrent Map
⌨️ Cyclic Barrier
⌨️ Exchanger
⌨️ Copy on write array
⌨️ Why do we need Locks?
⌨️ Condition on Locks
⌨️ Reentrant Locks
⌨️ Read Write Locks
⌨️ Visibility Problem in Java
⌨️ Deadlocks in Java
⌨️ What are Atomic Variables?
⌨️ What are Semaphores?
⌨️ What is Mutex?
⌨️ What is ForkJoinPool
⌨️ Good Bye & Thank you!

Taught by

freeCodeCamp.org

Reviews

Start your review of Multithreading for Beginners in Java - Comprehensive Guide

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.