Question: Question 2 (25 points) In the context of Java concurrent programming using the basic threading API: (a) (10 pts.) Consider the code snippet below that

Question 2 (25 points) In the context of Java concurrent programming using the basic threading API: (a) (10 pts.) Consider the code snippet below that runs the MyThread repeatedly: MyThread t = new MyThread(); boolean condition = true; while (condition) { t.start(); /* Do own work */ t.join(); condition = t.getResult(); } Explain the main reason why this may not run correctly resulting in an exception, explain the one scenario where this will not lead to that exception. Propose a simple code fix, or a different design of the code to solve the issue. (Squishing the exception is not a correct answer!) (b) (5 pts.) What does the Java keyword volatile attached to an object field achieve? (c) (5 pts.) Does the interrupt() method of the Java Thread class guarantee thread termination? Which Thread class method would you use to wait for the thread execution to complete? In the context of Java serialization: (d) (5 pts.) What does the keyword transient attached to an object field do
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
