1. Develop a multi-threaded Java application as described below Five Secretarial job applicants take part in a speed typing test on a 480 minute (8 hour) long day. Each applicant has their strengths and weaknesses:
Write a multithreaded Java application to simulate a typical day's document processing of 200, 500 word documents. Display a message in the terminal when each applicant has finished the test.
3. Create a job applicant class. The constructor accepts two integers for typing speed and break frequency, a reference to a break object and a String for its name. The applicant class should also have members that store a word count and duration in minutes. It should stop once the test is finished (i.e. after 480 minutes). The canteen for breaks can only be occupied by one applicant at a time and it is occupied at the start of the test for 10 minutes. This will require synchronisation between threads and the use of locks. If an applicant needs to take a break but another applicant is already in the canteen they must skip their break until their next scheduled break. As a result, their performance suffers and their throughput reduces by half until they have the opportunity to break again.