
In this video, we will look at the table of contents of this course.
Learn the difference between concurrency and parallelism.
In this video, we will understand what is race condition and why it occurs.
In this video, we will understand what is java memory model and what we can expect from java under certain scenarios.
In this video, we will see a simple example of how java memory model behaves under certain scenarios.
In this video, we will look at what is thread safety and some of the available mechanism to achieve it.
In this video, we will learn what is atomic and how to achieve atomicity.
In this video, we will learn how to make long and double to be atomic.
In this video, we will see an example of how to achieve atomicity.
In this video, we will look at the what is immutability and how it can be used to avoid race condition
In this vide, we will see demo of how to make class immutable
In this video, We will look at the difference between Blocking and Non blocking way of resolving race condition
In this video, we will see how java provides atomicity for concurrent atomic classes.
In this video, We will look at thread lifecycle such as creating a new thread, pause a thread, interrupt a thread and join a thread.
In this video, we will understand how threads communicate with other threads using wait, notify and notifyAll mechanism
In this video, we will understand how threads community with each other.
In this video, we will look at what is executors and executor service
In this video, we will understand how to use Executors and ExecutorService
In this video, we will look at ThreadPoolExecutor and how it can be configured
In this video, we will understand functions of threadpoolexecutor with a example.
In this video, we will look at what is ForkJoinPool and how it is used to execute tasks.
In this video, we will look at the demo of ForkJoinPool and it's usage
In this video, we will learn producer consumer pattern how it is used.
In this video, we will see an example of how to build producer consumer pattern.
In this video, we will understand Lock interface and it's usage.
In this video, we will see and example of how to use lock interface and it's related classes.
In this video, we will understand what is DeadLock and how to resolve it.
In this video, we will see an example of how deadlock occurs and how it could be resolved with demo.
In this video, we will see an example of how to resolve deadlock by ordering locks.
In this video, we will see an example of how to resolve deadlock using non blocking approach.
In this video we will learn what is CountDownLatch how it can be used.
In this video, we will see an example of of CountDownLatch.
In this video, we will learn what is CyclicBarrier how it is used.
In this video, we will see an example of CyclicBarrier.
In this video, we will learn what is Semaphore and how it used.
In this video, we will see an example of Semaphore.
In this video, we will learn what is Phaser and how it is used.
In this video, we will see an example of Phaser and how to use it.
In this video, we will learn what is Exchanger and it is used.
In this video, we will see an example of Exchanger and how to use it.
In this video, we will understand how to build a simple custom synchronizer
In this video, we will see a demo of how to build our own synchronizer using AbstractQueuedSynchronizer
In this video, we will understand some of the concurrency approach in collections.
In this video, we will learn about some of the data structures from java concurrent framework.
In this video, we will see one concurrency problem and how to solve it.
In this video, we will solve the previous problem with high level concurrency objects.
Welcome to the Java concurrency course. In this course, you will get familiar with the concepts of java multithreading and how it is used to build modern concurrent application. Why learn java concurrency?. The concepts that you will learn from this course can be applied to all the programming languages which provide concurrency support. Whether you are beginner or seasoned programmer, you will definitely learn something from this course. Java is the most widely used language from server to mobile phones.
This course will teach you how to think in concurrency. By completing this course, you will be able to get good hands on java multithreading. By the end of this course, you will acquire all the necessary skills to work on a project which requires multithreading and java concurrency.
This course explains the concept of concurrency and its related features in depth. If you come from other programming languages it's better to learn the basics of java and it's syntax.
The followings are what you will get from this course.
understand the concept of concurrency
how to use java concurrency framework to build simple application
how cpu and memory plays a role in java multithreading.
you will get clear understanding of when and where to use lock
understand the difference between blocking and non blocking algorithms
how to build your own locks using abstractqueuedsynchronizer
understand what is immutability
understand the role of atomic classes