Java Simulations & Multithreading

A guide to becoming an expert in multithreading
4.6 (48 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.
819 students enrolled
Instructed by Holczer Balazs IT & Software / Other
$80
Take This Course
  • Lectures 44
  • Contents Video: 4.5 hours
    Other: 0 mins
  • Skill Level Intermediate Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 5/2015 English

Course Description

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. And of course it will give you a strong background to more easily pick up other object-oriented languages such as C#.

At the end of this course, you will know Object oriented programming, How to use multithreading in real applications, 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, a very interesting and staggering simulation about the fundamental nature of our universe.

What are the requirements?

  • Basic Java
  • Eclipse IDE
  • Internet connection

What am I going to get from this course?

  • Implement concurrent simulations or applications on your own
  • Use the low level as well as the high level methods
  • Solve complex problems with the help of concurrency
  • Use Swing for GUI programming

What is the target audience?

  • This Java course is for newbies who are familiar with basic Java and students looking for some interesting and advanced topics

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Introduction
Introduction
Preview
02:52
Processes and threads
Preview
03:05
Section 2: Basic Concurrency
Creating threads
Preview
07:17
Join()
02:42
Volatile
06:17
Deadlock and livelock
02:29
Synchronization
06:20
Sychronized blocks
07:52
Wait() and notify()
07:28
Producer-consumer model - with wait() and notify()
08:12
Locks
06:49
Producer-consumer model - with locks
06:19
ExecutorServices
08:29
Priority and yield()
08:41
Semaphores introduction
03:59
Semaphores
06:42
Callable and Future
07:04
Terminating threads
08:29
Daemon threads
03:05
Section 3: Concurrent Library Objects
CountDownLatches
08:15
CyclicBarrier
07:44
BlockingQueue
06:11
DelayQueue
02:03
PriorityBlockingQueue
07:17
Exchanger
10:43
ConcurrentMap
09:25
Section 4: Dining Philosophers Problem
ChopStick class
08:16
Philosopher class
07:52
Algorithm
09:14
Section 5: Students In Library Problem
Book class
04:54
Student class
03:17
Testing the application
03:52
Section 6: Simulation - Minesweeper Application with GUI
MineLayer and MineSweeper
08:37
Constants
04:09
Cell
07:02
Toolbar
05:32
Board
10:19
MainFrame
12:22
Stopping threads
08:26
Section 7: Conway's Game Of Life
Conway's game introduction
04:04
Game implementation
12:15
Section 8: Outro
Final words
01:44
Section 9: Source Code
Source code
Article
Coupon codes - get any of my other courses for a discounted price
Article

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Holczer Balazs, 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.

Ready to start learning?
Take This Course