Find online courses made by experts from around the world.
Take your courses with you and learn anywhere, anytime.
Learn and practice real-world skills and achieve your goals.
A 7.5-hours course on multi-threading - it cannot get more detailed than that! Learn all the concepts of Java's Executors API from scratch in combination with parallel concepts of the Threads API. Develop skills and deepen your knowledge of advanced multi-threading concepts by learning various tips & techniques and becoming aware of pitfalls when using Executors API. And ... refresh your advanced Threads-API concepts as well.
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)! Learning from Full-HD (1080p) videos and nearly 8 hours of content will help you convert all these "nos" to "yeses" ... and will also give you an edge over your peers! Not only will this course help you learn how to get things done the multi-threaded way but also how to avoid the mistakes and pitfalls and thereby, increase your efficiency and productivity. All those long bug-fixing hours that you save can be spent finishing your other pending work or even for pleasure!
Avoid the pitfalls while writing multi-threaded code by learning pro-tips
In my 13 years of experience building large enterprise applications, I have made all the mistakes in multi-threading that can be made. And believe me - multi-threading bugs are costly and multi-weekend-destroying to resolve.
I have used my vast experience to craft this course in such a manner so as to highlight the pitfalls that await a programmer and also provide tips to avoid those pitfalls. By going through this course, you will be years ahead of your peers who are yet to make all the mistakes that I have made.
Content and Overview
It is difficult to directly move from an older to a newer way of doing things if you are not comfortable with the older way also - you won't be able to map things from the old way to the new way. So, this course has been structured in such a way that the Threads-API way of doing things are explained first and then the corresponding way to do them using the Executors-API is explained. This will help you understand not only the advanced concepts of Executors but also those of the Threads-API.
So, this course is suitable for programmers who want to learn about the Executors API from scratch. It is also beneficial for those who want to refresh their concepts or learn the techniques of doing various operations using the Threads-API. Detailed examples along with the source-code are provided on every concept for both the APIs.
The course starts with the basics first - 'How to create and run threads', 'How to name the threads' and 'How to return values from threads' - using both the APIs. And then, it gradually moves on to increasingly advanced concepts like 'Terminating Threads', 'Catching Exceptions', 'Waiting for threads to finish without wasting CPU cycles', etc.
BEFORE YOU BUY THIS COURSE, DON'T FORGET TO WATCH THE FREE PREVIEW VIDEO ON 'PRE-REQUISITES AND COURSE STRUCTURE' IN SECTION-1!
Not for you? No problem.
30 day money back guarantee.
Learn on the go.
Desktop, iOS and Android.
Certificate of completion.
|Section 1: INTRODUCTION|
About the CoursePreview
Pre-Requisites And Course StructurePreview
How to Download Source Code and 1080p Videos
|Section 2: CREATING AND RUNNING THE THREADS|
Creating Threads Using the Threads-API - First WayPreview
Creating Threads Using the Threads-API - Second Way
Creating Threads Using the Threads-API - Third Way
Creating Threads Using the Threads-API - Fourth Way
Creating Threads Using the Threads-API - Fifth Way
Executors Framework Overview
Important Interfaces And Classes In The Executors FrameworkPreview
Creating Threads Using Executors Framework - Fixed Thread PoolPreview
Creating Threads Using Executors Framework - Cached Thread Pool | Part-1
Creating Threads Using Executors Framework - Single Thread Executor
|Section 3: NAMING THE THREADS|
Naming Normal Threads - First Way
Naming Normal Threads - Second Way
Naming Executor Threads
Creating Threads Using Executors Framework - Cached Thread Pool | Part-2
|Section 4: RETURNING VALUES FROM THREADS|
Returning Values From Normal Threads - First Way
Returning Values From Normal Threads - Second Way
Returning Values From Executors - First Way
Returning Values From Executors - Second Way
|Section 5: CREATING DAEMON THREADS|
Daemon Threads Using Threads-API
Daemon Threads Using Executors
|Section 6: CHECKING IF A THREAD IS ALIVE|
Normal Threads Alive Check
Executor Threads Alive Check
|Section 7: TERMINATING THREADS|
Terminating Normal Threads - First Way
Terminating Normal Threads - Second Way
Terminating Normal Blocked Threads
Terminating Executor Tasks - First Way
Terminating Executor Tasks - Second Way
Terminating Blocked Executor Tasks
Terminating ALL Executor Tasks In One Shot | Part-1
Terminating ALL Executor Tasks In One Shot | Part-2
|Section 8: HANDLING UNCAUGHT EXCEPTIONS|
Handling Uncaught Exceptions For Every Thread
Handling Uncaught Exceptions Differently For Each Thread
Handling Uncaught Exceptions - Defaults And Overrides
Handling Uncaught Exceptions In Executors For Every Thread
Handling Uncaught Exceptions In Executors Differently For Each Thread
Handling Uncaught Exceptions In Executors - Defaults And Overrides
|Section 9: WAITING FOR THREADS TO FINISH|
Joining Other Threads Using the Normal Threads-API
Returning Values From Normal Threads - Third Way
Joining Executor Threads
|Section 10: SCHEDULING TASKS|
Main Task Scheduling Classes and General Scheduling Concepts
Scheduling Tasks For One Time Execution Using Normal Threads | Part-1
Scheduling Tasks For One Time Execution Using Normal Threads | Part-2
Scheduling Tasks For Fixed DELAY Repeated Executions Using Normal Threads
Scheduling Tasks For Fixed RATE Repeated Executions Using Normal Threads
Important Interfaces and Classes for Scheduling Tasks Using Executors
Scheduling Tasks For One Time Execution Using Executors
Scheduling Tasks For Fixed DELAY Repeated Executions Using Executors | PART-1
Scheduling Tasks For Fixed DELAY Repeated Executions Using Executors | PART-2
Scheduling Tasks For Fixed RATE Repeated Executions Using Executors
|Section 11: EXERCISES|
|Section 12: CONCLUSION|
I am a software professional with around 14 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 telecom 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.