Java: Multi-threading and Concurrency Simplified
What you'll learn
- Understand Thread concepts - Designing, States, Priorities, Daemon Threads.
- Apply concurrency control techniques using synchronized blocks and locks.
- Understand the key components of java\.util\.concurrent package including Fork Join Framework
- Mock a simple HttpServer interaction
- Kick start thinking in distributed way
- You should possess the basic knowledge in Object oriented programming in Java.
Multi threading in Java is the most essential feature that each and every Java developer should understand and be able to confidently apply it in solving complex programming problems where concurrent execution is a must. With parallel processing there comes a risk, i.e. shared mutability and the ability of the developer to solve concurrency problems.
Thanks to the Java programming language that it makes the mighty multi-threaded application development a cake walk, if you assimilate few keys or core concepts you will be able to confidently design multi threaded applications with ease.
To design multi threaded applications developers need to look at it through a different perspective i.e. change the thinking from serial to parallel and it requires some effort. Keeping this in mind this course contains the essential lectures which can guide you in this regard.
This course was designed keeping the above points in mind and will help you understand these complex problems through simplified and easy to understand examples.
Course contents include
Understanding Threads, Priorities, States, Daemon Threads.
Thread synchronization using synchronized blocks and locks.
Key components of java.util.concurrent package including ForkJoinPool and ForkJoinTask(s).
Mock HttpServer to explain how HTTP works and simulate how a typical web server responds to the client requests.
Introduction to distributed locks
An overview of how to build scalable applications using Messaging Queues.
Introduction to Lambdas and Streams (Coming up)
Who this course is for:
- Any one who is looking to add Multithreading and concurrency to their skill set along with Java
Sagar an M.Tech graduate from ANU a passionate application developer and a trainer apart from being a good learner and a listener, started his career as a trainer and later he was part of design and development of several software projects and products. Earned his reputation as a hard core Java developer and Systems Integration Specialist and was instrumental in success of several projects with his technical, leadership and mentoring skills.