Callback hell is a known way to give any JavaScript developer nightmares. However, Java developers are not much better off since anything concurrency and multithreading related gives us cold sweats.
With Threads and Runnables being the very first (and often last) things we used in Java, these classes gave many of us impression of and appreciation for complexities of concurrency. As a result, many developers abandoned the idea of ever touching thread management in Java and focused on a single-threaded development.
Fear no more! The world of concurrency in Java has changed since JDK8 and continues getting better. In this talk, we discuss improvements around Concurrency API of JDK5 and the power of asynchronous programming of CompletableFutures post-JDK8. Our goal is to break out of the fear of concurrency in Java and to learn about a new, declarative way of thread programming.
60. Multithreading Forms
Concurrent Form
Parallel Form
Asynchronous Form
Concurrent Form
Parallel Form
Asynchronous Form
@DmitryVinnik dvinnik.com
Concurrent Form
Parallel FormParallel Form
Asynchronous Form
How many of you have Macbook Pro?
How many of you used AWS/Azure?
Have you heard about Microservices
How many of you have Macbook Pro?
How many of you used AWS/Azure?
Have you heard about Microservices
Source: The Next Platform
Change or die situation at this point
World perspective
Change or die situation at this point
World perspective
Change or die situation at this point
World perspective
Source: Pixabay
Source: Pixabay
Source: Pixabay
Source: Pixabay
This is our path for the rest of today
This arrow is our talk
This is our path for the rest of today
This arrow is our talk
This is our path for the rest of today
This arrow is our talk
This is our path for the rest of today
This arrow is our talk
Excuses to Avoid Concurrency:
“My app is single threaded”
“Concurrency is too complicated”
“It works most of the time”
“If it is not broken, don't touch it”
Excuses to Avoid Concurrency:
“My app is single threaded”
“Concurrency is too complicated”
“It works most of the time”
“If it is not broken, don't touch it”
Excuses to Avoid Concurrency:
“My app is single threaded”
“Concurrency is too complicated”
“It works most of the time”
“If it is not broken, don't touch it”
Excuses to Avoid Concurrency:
“My app is single threaded”
“Concurrency is too complicated”
“It works most of the time”
“If it is not broken, don't touch it”
“Always Design for Concurrency” - Pragmatic Programmer
Good example is http clienta
Good example is http clienta
Good example is http clienta
This is our path for the rest of today
This arrow is our talk
https://platformio.org/platformio-ide
https://platformio.org/platformio-ide
https://platformio.org/platformio-ide
https://platformio.org/platformio-ide
https://platformio.org/platformio-ide
https://platformio.org/platformio-ide
https://platformio.org/platformio-ide
https://platformio.org/platformio-ide
https://platformio.org/platformio-ide
This is our path for the rest of today
This arrow is our talk
This is our path for the rest of today
This arrow is our talk