Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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