Identifying resource contention

In a multithreaded application, it is typical for threads to lock or wait for a lock. The thread dump can be used for identifying resource contentions. Let's simulate this scenario in our application by modifying the main method of the CourseManagement class to call courseBean.getCourses in separate threads:

public class CourseManagement { 
 
  public static void main(String[] args) throws IOException { 
 
    final CourseBean courseBean = new CourseBean(); 
 
    System.out.println("Type any character to get courses. Type q  to quit."); int ch, threadIndex = 0; while ((ch = System.in.read()) != -1) { if (ch != 10 && ch != 13) { //ignore new lines if (ch == 'q') //quit if user types q break; threadIndex++; //used for naming the ...

Get Java EE 8 Development with Eclipse now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.