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.
Learn the basic concepts and functions that you will need to build multithreaded programs with the popular programming language, Java. It is definitely worth learning this part of Java as in order to process the huge amount of data nowadays, it is essential to use concurrency.
At the end of this course, you will know Object oriented programming, how to use multithreading in real applications and GUI programming with Swing
In the first chapter we are going to study about the basics of concurreny: synchronization, executor services, callable and runnable interfaces and why is it important to be familiar with all of these things.
Knowing these basics are just the beginning. We will implement three applications with which you can get a good grasp of the fundamentals of multithreading and how to use it in real situtations.
In the last chapter we will take a look at Conway's game of life, a very interesting and staggering simulation about the fundamental nature of our universe.
LAST UPDATE: 2016 october
Not for you? No problem.
30 day money back guarantee.
Learn on the go.
Desktop, iOS and Android.
Certificate of completion.
|Section 1: Introduction|
Processes and threadsPreview
|Section 2: Basic Concurrency|
Deadlock and livelock
Wait() and notify()
Producer-consumer model - with wait() and notify()
Producer-consumer model - with locks
Priority and yield()
Callable and Future
|Section 3: Concurrent Library Objects|
|Section 4: Dining Philosophers Problem|
|Section 5: Students In Library Problem|
Testing the application
|Section 6: Simulation - Minesweeper Application with GUI|
MineLayer and MineSweeper
|Section 7: Conway's Game Of Life|
Conway's game introduction
|Section 8: Parallel Algorithms|
Parallel algorithms introduction
Merge sort introduction
Merge sort implementation - sequential
Merge sort implementation - parallel
Merge sort implementation - parallel testing
|Section 9: Outro|
|Section 10: Source Code|
Coupon codes - get any of my other courses for a discounted price
My name is Balazs Holczer. I am from Budapest, Hungary. I am qualified as a physicist and later on I decided to get a master degree in applied mathematics. At the moment I am working as a simulation engineer at a multinational company. I have been interested in algorithms and data structures and its implementations especially in Java since university. Later on I got acquainted with machine learning techniques, artificial intelligence, numerical methods and recipes such as solving differential equations, linear algebra, interpolation and extrapolation. These things may prove to be very very important in several fields: software engineering, research and development or investment banking. I have a special addiction to quantitative models such as the Black-Scholes model, or the Merton-model. Quantitative analysts use these algorithms and numerical techniques on daily basis so in my opinion these topics are definitely worth learning.