Java Concurrency & Multithreading: beginner to intermediate
Java Concurrency & Multithreading: beginner to intermediate, available at $49.99, has an average rating of 4.75, with 33 lectures, based on 14 reviews, and has 85 subscribers.
You will learn about A high-level overview of process management by the operating system A high-level overview of thread management by the operating system The fundamental difference between a process and a thread How to define a thread using the Thread subclassing approach How to define a thread by implementing the Runnable interface The different states of a thread and its lifecycle How to start threads using the start() method and the ExecutorService The strategy for reusing threads employed by the ExecutorService How to define a thread by implementing the Callable interface How to use the Future interface in blocking and non-blocking ways The usage of daemon threads The functionality of the Thread's .join() and .interrupt() methods The concept of data race and its details How to use the 'volatile' keyword to avoid data race The concept of mutex / intrinsic lock / monitor The concept of race condition, its details and difference from the data race How to use the 'synchronized' keyword to implement mutex/monitor acquire in Java The concept of the compare-and-swap CPU instruction A high-level overview of the Java atomics package and its relation to compare-and-swap How to use the AtomicInteger class to avoid arithmetic operation race condition The usage of the ThreadLocal class in Java How to take thread dumps of the JVM process How to use the .parallelStream() method in the Java Streaming API This course is ideal for individuals who are Beginner Java developers without prior experience with multi-threading or Intermediate and advanced Java developers seeking a deeper understanding of basic concepts behind multi-threading or Developers switching from another language to Java who are planning to write multi-threading code or Professionals preparing for Java multithreading interviews at the beginner to intermediate level It is particularly useful for Beginner Java developers without prior experience with multi-threading or Intermediate and advanced Java developers seeking a deeper understanding of basic concepts behind multi-threading or Developers switching from another language to Java who are planning to write multi-threading code or Professionals preparing for Java multithreading interviews at the beginner to intermediate level.
Enroll now: Java Concurrency & Multithreading: beginner to intermediate
Summary
Title: Java Concurrency & Multithreading: beginner to intermediate
Price: $49.99
Average Rating: 4.75
Number of Lectures: 33
Number of Published Lectures: 33
Number of Curriculum Items: 33
Number of Published Curriculum Objects: 33
Original Price: $19.99
Quality Status: approved
Status: Live
What You Will Learn
- A high-level overview of process management by the operating system
- A high-level overview of thread management by the operating system
- The fundamental difference between a process and a thread
- How to define a thread using the Thread subclassing approach
- How to define a thread by implementing the Runnable interface
- The different states of a thread and its lifecycle
- How to start threads using the start() method and the ExecutorService
- The strategy for reusing threads employed by the ExecutorService
- How to define a thread by implementing the Callable interface
- How to use the Future interface in blocking and non-blocking ways
- The usage of daemon threads
- The functionality of the Thread's .join() and .interrupt() methods
- The concept of data race and its details
- How to use the 'volatile' keyword to avoid data race
- The concept of mutex / intrinsic lock / monitor
- The concept of race condition, its details and difference from the data race
- How to use the 'synchronized' keyword to implement mutex/monitor acquire in Java
- The concept of the compare-and-swap CPU instruction
- A high-level overview of the Java atomics package and its relation to compare-and-swap
- How to use the AtomicInteger class to avoid arithmetic operation race condition
- The usage of the ThreadLocal class in Java
- How to take thread dumps of the JVM process
- How to use the .parallelStream() method in the Java Streaming API
Who Should Attend
- Beginner Java developers without prior experience with multi-threading
- Intermediate and advanced Java developers seeking a deeper understanding of basic concepts behind multi-threading
- Developers switching from another language to Java who are planning to write multi-threading code
- Professionals preparing for Java multithreading interviews at the beginner to intermediate level
Target Audiences
- Beginner Java developers without prior experience with multi-threading
- Intermediate and advanced Java developers seeking a deeper understanding of basic concepts behind multi-threading
- Developers switching from another language to Java who are planning to write multi-threading code
- Professionals preparing for Java multithreading interviews at the beginner to intermediate level
Learn how to write applications that take full advantage of processor power by parallelizing computations and avoiding idle cycles with Java concurrency and multithreading. This course will cover both the concepts behind multithreading and concurrency with real-world examples and provide practical coding examples that demonstrate how to use the capabilities provided by the JDK.
By the end of this course, you will:
-
Understand the concepts of processes and threads in operating systems and be able to distinguish between the two.
-
Define threads in Java using Thread, Runnable, and Callable.
-
Be familiar with Java thread states and the thread lifecycle.
-
Know the different ways to start threads, including using .start(), ExecutorService, and .parallelStream() capabilities.
-
Understand the concept behind the ExecutorService thread reuse strategy.
-
Understand both blocking and non-blocking mechanisms for working with the Future interface.
-
Learn about daemon threads.
-
Be able to use the .join() and .interrupt() thread capabilities.
-
Understand the concept of data race and how to mitigate it using the volatile keyword.
-
Be familiar with the race condition concept and the mutex strategy to mitigate it.
-
Know how to write Java code using the synchronized keyword to implement the mutex paradigm.
-
Understand the compare-and-swap processor instruction and how it is used in the Java atomics package.
-
Know when and how to use AtomicInteger.
-
Learn about the ThreadLocal class.
-
Be able to take thread dumps of the JVM process.
Course Curriculum
Chapter 1: Introduction
Lecture 1: Introduction
Lecture 2: Pre-requisites and tools
Chapter 2: Inside Computer
Lecture 1: Concurrency
Lecture 2: Parallelism
Lecture 3: CPU
Lecture 4: Computer process
Lecture 5: Multi-core & multi-CPU systems
Lecture 6: Threads
Chapter 3: Starting Threads
Lecture 1: Java Thread Definitions
Lecture 2: Thread Lifecycle
Lecture 3: Starting Threads
Lecture 4: ExecutorService Concept
Lecture 5: Real-world tech & ExecutorService
Lecture 6: ExecutorService in Action
Lecture 7: Callable & Future Concepts
Lecture 8: Submitting Callable
Lecture 9: Daemon Threads
Lecture 10: Joining and Interrupting
Chapter 4: Read/write data race and volatile
Lecture 1: Atomicity
Lecture 2: N-bit CPU
Lecture 3: Variable read and write
Lecture 4: Data race
Lecture 5: Volatile and happens-before
Chapter 5: Synchronized and atomic
Lecture 1: Race condition
Lecture 2: Synchronization need
Lecture 3: Mutual exclusion
Lecture 4: Synchronized
Lecture 5: Blocked State
Lecture 6: Synchronized methods
Lecture 7: Compare-and-swap
Lecture 8: Atomics package & AtomicInteger
Chapter 6: Tips, tricks and outro
Lecture 1: Tips & tricks
Lecture 2: Bonus: Outro
Instructors
-
Kiryl Yesipau
Engineering Leader & Expert
Rating Distribution
- 1 stars: 0 votes
- 2 stars: 0 votes
- 3 stars: 0 votes
- 4 stars: 4 votes
- 5 stars: 10 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Digital Marketing Foundation Course
- Google Shopping Ads Digital Marketing Course
- Multi Cloud Infrastructure for beginners
- Master Lead Generation: Grow Subscribers & Sales with Popups
- Complete Copywriting System : write to sell with ease
- Product Positioning Masterclass: Unlock Market Traction
- How to Promote Your Webinar and Get More Attendees?
- Digital Marketing Courses
- Create music with Artificial Intelligence in this new market
- Create CONVERTING UGC Content So Brands Will Pay You More
- Podcast: The top 8 ways to monetize by Podcasting
- TikTok Marketing Mastery: Learn to Grow & Go Viral
- Free Digital Marketing Basics Course in Hindi
- MailChimp Free Mailing Lists: MailChimp Email Marketing
- Automate Digital Marketing & Social Media with Generative AI
- Google Ads MasterClass – All Advanced Features
- Online Course Creator: Create & Sell Online Courses Today!
- Introduction to SEO – Basic Principles of SEO
- Affiliate Marketing For Beginners: Go From Novice To Pro
- Effective Website Planning Made Simple