Java Multithreading using Executors Framework
- 1x (Normal)
Creating Threads Using the Threads-API | First Way10:25
Creating Threads Using the Threads-API | Second Way4:27
Creating Threads Using the Threads-API | Third Way4:32
Creating Threads Using the Threads-API | Fourth Way3:50
Creating Threads Using the Threads-API | Fifth Way3:54
Executors Framework Overview4:05
Important Interfaces and Classes in the Executors Framework10:36
Creating Threads Using Executors Framework - Fixed Thread Pool10:32
Creating Threads Using Executors Framework - Single Thread Executor3:09
Creating Threads Using Executors Framework - Cached Thread Pool | Part - 15:27
About This Class
The class covers all the concepts of Executors from scratch in combination with parallel concepts of the Threads API.
- Do you know how to return values using the normal Threads API and its Runnables?
- Do you know the various ways of terminating threads midway for both the APIs?
- Do you know how to 'join threads' using Executors?
- Do you know that you cannot catch stray exceptions leaked out from a thread by using try-catch block - neither in the Threads API nor in the Executors one? And that this can lead to third-party code killing your scalable, high-performance and high-availability enterprise application?
- Do you know how to check if a task has finished execution using both the APIs?
- Do you know what are daemon threads and how to create them using Executors?
- Do you know how to name Executor threads?
- Do you know the various ways to schedule tasks for running in future using both the APIs? Do you know the various 'types' of scheduling?
If the answer to any of these questions is 'no', then this course is for you (provided that you know Java and the basics of multi-threading already)!
What are you going to get from this course?
- Over 50 lectures and 7.5 hours of content!
- The Source Code of all the examples!
- Confidence to move away from the old Threads-API and use the modern Executors-API for all multi-threading needs instead.
- Exploit the Ninja Techniques learned from this course to write safe and error free multithreading code in the first iteration itself.
- Understanding how to exploit the various pro techniques to avoid the pitfalls while using Executors.
- Understanding how to leverage the similarities & differences between the Threads-API and the Executors-API.
- Rightly judge which Executor pool to use for which needs.
- Differentiate between safe and error-prone multi-threading code.
- Appreciate the reasons why Executors API was built even though the Threads API already existed.
- Write efficient multi-threading code by utilizing a plethora of pro tips and techniques
What is the target audience?
- This course is meant for all Java professionals who are familiar with Java's Threads-API but who are not comfortable with the Executors-API yet. For example - if you know how to terminate normal threads but not how to terminate Executor tasks or threads, then this course is for you.
- Even if you do not know how to terminate normal threads, return values from normal threads and the like - then also this course is for you. Professionals who are still using the old Threads-API and want to have more practical knowledge about some advanced concepts of this API can also benefit from this course as Threads-API is also covered in detail.
- If you love to have deep knowledge of underlying concepts of a technology or topic rather than just shallow familiarity, then this course is for you.
- This course is probably not for you if you are looking to learn about Java multi-threading from scratch! You should already know about the basic concepts of multi-threading viz. what are threads, why are threads required, various states they can be in, what is synchronization, what is locking, etc.
- This course is definitely not for you if you do not know how to code in Java!
I am a software professional with around 13 years of experience building multi-tier enterprise systems for large investment banks, financial services providers and telecom companies. Right now, I am working with a multi-national company based out of US.
Most of my experience has been on Java/JEE and related technologies only but I have worked on IBM Mainframes and some Microsoft technologies as well.
My main areas of expertise are Core Java, Web-programming using JSPs and Servlets, Groovy, Grails, Spring, Hibernate, OSGi, Eclipse RCP, Eclipse RAP and creating DSLs using Xtext & Xtend.
I have been involved in building architecture and design of multiple applications with requirements of high-performance, high-availability, scalability, interoperability and high-maintainability.