Java Concurrency and Multithreading in Practice

Java Concurrency and Multithreading in Practice

Improve the performance of your application by using modern Java's multithreading features

Bestseller
Created By: Tatiana Fesenko
16.05 9.62

About This Course

Multi-core processors are everywhere—from super-computers to mobile devices right in your pocket. That's why a modern developer must know how to leverage the power of multithreading.

This course will teach you how to use parallelism and concurrency in Java. You will learn how to parallelize tasks and functions with the ForkJoin framework and Streams. You will also learn how to work with the very popular Reactive Streams recently introduced to Java. Furthermore, you will master concurrent collections and lower-level synchronization techniques with locks.

This course conveniently provides quizzes to evaluate your knowledge and help you retain the new concepts.

By the end of this practical training course, you will have the knowledge to write elegant programs for multicore computers with enhanced performance and improved responsiveness.

All the code and related files are on GitHub at: https://github.com/PacktPublishing/Java-Concurrency-Multithreading-in-Practice

Other Information

  • Certificate will provided in this course on Completion
  • Full lifetime access
  • Available on Mobile & Laptop

What Students Will Learn In Your Course?

  • Build efficient and elegant code with popular parallel Java frameworks, including ForkJoin and Streams
  • Master Reactive Streams to process data
  • Explore the existing thread-safe collections and types, to avoid reinventing the wheel
  • Understand how threads work in Java and how to manage them
  • Leverage multithreading to increase your application's performance

Are There Any Course Requirements Or Prerequisites?

Some basic workable knowledge of Java is assumed.

Who Are Your Target Students?

If you are a Java developer keen to learn how to write modern parallel and concurrent programs to improve application performance, this course is for you.

Course Content

  • 24 lectures
  • 02:20:50
  • The Course Overview
    00:04:00
  • Executing Tasks in Parallel with ForkJoinPool
    00:04:58
  • Joining the Results of the Tasks
    00:08:53
  • RecursiveAction and RecursiveTask
    00:08:04
  • Exception Handling and Cancelling a Task
    00:04:54
  • Callable and Future
    00:05:42
  • Thread and Thread Pool
    00:07:25
  • CompletableFuture
    00:06:19
  • Sequential Streams
    00:07:46
  • Parallel Streams
    00:04:52
  • Overview: Publishers, Subscribers, and Subscriptions
    00:02:43
  • Subscriber: Consuming Messages
    00:06:04
  • Publisher and SubmissionPublisher: Providing Messages
    00:07:14
  • Processor: Transforming Messages
    00:07:18
  • Threads: Thread Lifecycle
    00:05:08
  • Structured Locks (The synchronized" Keyword)"
    00:07:32
  • Working with Locks
    00:05:49
  • Object#wait(), notify(), and the New onSpinWait()
    00:09:23
  • Problems: Data Races, Deadlock, Livelock, & Resource Starvation
    00:05:31
  • Atomic Types and the Compare-and-Set Approach
    00:05:46
  • Concurrent Collections: ConcurrentHashMap, ConcurrentLinkedQueue
    00:04:24
  • Blocking Queues
    00:03:40
  • Copy-on-Write Collections
    00:05:02
  • Wrap Up and Next Steps
    00:02:23
Image

Packt Publication

  • 4.4 (2)
  • 7 Reviews
  • 2 Students
  • 935 Courses