PPT - Regis University: Academic Web Server for Faculty

Download Report

Transcript PPT - Regis University: Academic Web Server for Faculty

CS-434: Object-Oriented
Programming Using Java
Week 8
Dr. Jesús Borrego
Adjunct Faculty
Regis University
1
scis.regis.edu ● [email protected]
Class Outline
•
•
•
•
•
•
2
Review of Final Project
Key Terms
Concurrency and Multithreading
Questions on Final
Final Exam
Questions?
Key Terms
• Multithread – múltiples hilos
• Thread - Hilo
3
Concurrency
• Performing more than one task at the same time
• Can be done either by multiple processes
managed by the OS or by multiple threads
running under a single process
• We’ll examine Java’s approach to threads
4
Concurrency in multiple CPUs
5
Threads
6
Thread States
7
Thread Priorities
• Public static final int MAX_PRIORITY
▫ Defines the highest priority that can be assigned to
a thread
• Public static final int MIN_PRIORITY
▫ Defines the lowest priority that can be assigned to
a thread
• Public static final int NORM_PRIORITY
▫ Defines the normal, default priority that is
assigned to a thread
8
Thread Priorities (Cont’d)
• On Windows, the priorities typically range from
1-10, (10 > 1, 5 is normal)
• Other platforms use different values
• Highest priority threads execute before lower
priority
▫ i.e., threads of lower priority must wait for higher
priority threads to relinquish the CPU before they
(the lower priority threads) can run.
• Threads of the same priority are allocated CPU
time slices in a “round robin” fashion.
9
Thread Management
• Java provides three techniques for creating
threads:
▫ class inheritance
▫ interface implementation
▫ timer for scheduled events
• Thread Class
10
Thread Class
• The two most important methods of class
Thread are run() and start()
• Method run() is used to define the high-level
coding logic of a thread, which is provided by
you, the developer, either through inheritance or
with an implementation of interface Runnable
• When method start() is called, it notifies the
JVM to launch a new thread whose entry point is
method run()
11
Thread Inheritance
• Create a class that extends Thread
• In main:
12
Activity 1
• Port scan and threads in Java (16:50 min):
http://www.youtube.com/watch?v=FpT2fJlBSj
U
13
Questions on material covered
14
Demo of Final Project
15
Final Exam
• Due Tuesday by midnight
• Submit to WorldClass as a single zip file
containing the Word document and a folder with
the entire NetBeans project
16
Questions?
17