Multithreading and Parallel Computing in Java
4.4 (214 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
2,164 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Multithreading and Parallel Computing in Java to your Wishlist.

Add to Wishlist

Multithreading and Parallel Computing in Java

Multithreadin and concurrent programming, parallel computation in java
Bestselling
4.4 (214 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
2,164 students enrolled
Created by Holczer Balazs
Last updated 8/2017
English
Curiosity Sale
Current price: $10 Original price: $35 Discount: 71% off
30-Day Money-Back Guarantee
Includes:
  • 6 hours on-demand video
  • 3 Articles
  • 3 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Understand basic concurrency
  • Understand the basics of multithreading
  • Understand parallel processing
  • Able to use the concepts in real life scenarios
View Curriculum
Requirements
  • Basic Java (inheritance, object oriented programming)
Description

Hi!

This course is about the basics of multithreading and concurrent programming with some parallel concepts. In the 21th century this topic is becoming more and more popular with the advent of Big Data and Machine Learning. We will consider the low level concepts such as threads, synchronization and locks. The second chapter will be about concurrent library: of course there are built in classes and interfaces that we can use when implementing multithreaded applications. Then we develope little programs as show-cases for multithreading: the dining-philosopher problem or the students in library simulation. Last chapter is about parallel computing. 

Thanks for joining my course, let's get started!

Who is the target audience?
  • This course is meant for students who want to get a good grasp on multithreading in java or just want a quick refresher
Students Who Viewed This Course Also Viewed
Curriculum For This Course
65 Lectures
06:10:04
+
Introduction
1 Lecture 02:18
+
Multithreading Theory
4 Lectures 16:10

Benefits of multithreading
03:17

Downside of multithreading
05:17

Thread life cycle in Java
02:10
+
Basic Multithreading
17 Lectures 01:48:00

Starting threads I - Runnable
06:18

Starting threads II - Thread class
07:24

Join
04:32

Volatile
07:43

Deadlock
04:03

Synchronized I
05:59

Synchronized blocks
08:16

Wait and notify
08:10

Producer and consumer
10:00

Locks
06:14

Producer consumer with locks
06:22

Locks VS synchrnoization
02:15

Semaphores
04:14

Semaphores II
07:19

Executors
06:58

Callable and future
07:40
+
Concurrent Collections
7 Lectures 01:03:49
Latch
09:06

Cyclic barrier
09:16

Blocking queue
08:52

Delay queue
09:09

Priority queue
10:29

Concurrent maps
07:25

Exchanger
09:32
+
Dining Philosopher Problem
6 Lectures 35:39
Dining philosopher problem I - the problem
04:29

Dining philosopher problems II - constants
03:04

Dining philosopher problems III - chopstick
06:54

Dining philosopher problems IV - philosopher
10:00

Dining philosopher problems V - srtarting the threads
06:57

Dining philosopher problems VI - running the simulation
04:15
+
Students Library Simulation
5 Lectures 13:39
Student library simulation I - the problem
01:24

Student library simulation II - constants
01:50

Student library simulation III - book
03:16

Student library simulation VI - student
02:57

Student library simulation V - running the simulation
04:12
+
Miner Game Simulation
5 Lectures 17:24
Miner game implementation I
01:43

Miner game implementation II
03:55

Miner game implementation III
02:15

Miner game implementation IV
03:35

Miner game implementation V
05:56
+
Parallel Algorithms
10 Lectures 01:01:23
Parallel methods versus multithreading
08:05

Merge sort introduction I
06:50

Merge sort introduction II
08:54

Sequential merge sort I
06:26

Parallel merge sort
06:47

Comparing sorting implementations
04:45

Sum problem introduction
02:44

Sum problem - sequential approach
04:28

Sum problem - parallel implementation
08:26

Comparing sum implementations
03:58
+
Fork-Join Framework
7 Lectures 51:36
Fork-join framework introduction
05:44

Fork-join framework simple example - RecursiveAction
09:14

Fork-join framework simple example - RecursiveTask<T>
07:56

Maximum finding - the algorithm
08:17

Maximum finding - running the application
06:54

Fork-join merge sort I
08:31

Fork-join merge sort II
05:00
+
Course Material
3 Lectures 00:05
Slides
00:01

Source code
00:02

Discounted coupon codes for other courses
00:02
About the Instructor
Holczer Balazs
4.4 Average rating
3,538 Reviews
34,888 Students
22 Courses
Software Engineer

Hi!

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.

Take a look at my website and join my email list if you are interested in these topics!