Describe how a semaphore can be used to act like a lock.

Assignment Help JAVA Programming
Reference no: EM13924134

1. For the following program, explain the interesting lines of code related to threads and explain the output of the application (do not show the output, just explain it).

You may experiment with the program using the attached source code by copying and pasting it into your IDE.

public class TaskThreadDemo{
public static void main (String args []) {
String [] sa = {"a", "X", "+", "."};
for (String s: sa) {
Runnable ps = new PrintChar (s, 200);
Thread ts = new Thread (ps, s);
ts.start ();
} // end for each character
} // end main
} // end class TaskThreadDemo
11

class PrintChar implements Runnable {
String ch;
int times;
15
public PrintChar (String c, int n) {
ch = c;
times = n;
} // end constructor
20
public void run () {
for (int i = 0; i < times; i++) {
System.out.print (ch);
} // end for loop
} // end method run
} // end class PrintChar

What is changed if the method called on line 7, start(), is replaced with run()? Explain (of course).

What is changed if the method Thread.yield() is added between lines 23 and 24? Explain.

Write a small code example using a ReentrantLock (no more than 10 lines).

How do you guarantee that the lock is released when your code finishes?

The dining philosophers problem was invented by E. W. Dijkstra, a concurrency pioneer, to clarify the notions of deadlock and starvation freedom.

Imagine five philosophers who spend their lives just thinking and feasting.

They sit around a circular table with five chairs.

The table has a big plate of rice. However, there are only five chopsticks (in the original formulation forks) available, as shown in the figure below.

Each philosopher thinks. When he gets hungry, he sits down and picks up the two chopsticks/forks that are closest to him.

If a philosopher can pick up both chopsticks, he can eat for a random amount of time.

After a philosopher finishes eating, he puts down the chopsticks and again starts to think.

What is wrong with everybody doing the following - other than that the philosophers never get up from the table?

think for a while

get left chopstick

get right chopstick

eat for a while

return left chopstick

return right chopstick 7. return to 1

How can the above be fixed to avoid deadlocks?

Write a simple thread example that contains a loop that sleeps for 30 seconds.

The loop should execute until a "shutdown" flag is set to true on the runnable object executing in the thread.

From your code in the previous question, when the shutdown flag is set to true, will the thread exit immediately?

What if it is in the sleep call?

How can the thread be woken up immediately by another thread?

Describe how a semaphore can be used to act like a Lock.

What feature does a semaphore offer over a Lock?

How can you ensure that the thread that asked for the permit first will get the permit first when using a semaphore?

Reference no: EM13924134

Questions Cloud

How four asset allocation strategies differ from one another : Discuss how the four asset allocation strategies differ from one another. There has been a long-standing debate regarding the existence of a "value-growth" anomaly in financial economic research.
Automated test scoring system : Scenario: A college is in desperate need of an automated test scoring system complete solution correct answer key. Using C++, write a scoring system for the college and score the tests of at least five students.
Understanding of computer hardware-compatible architecture : The purpose of this assignment is for you to test your understanding of computer hardware, compatible architecture, and system requirements.
Determine the expression for required torque : A solid cone of radius R and vortex angle 2θ is to rotate at an angular velocity, ω .An oil of dynamic viscosity µ and thickness ‘t' fills the gap between the cone and the housing. Determine the expression for Required Torque.
Describe how a semaphore can be used to act like a lock. : The loop should execute until a "shutdown" flag is set to true on the runnable object executing in the thread.
Describe the way manager use accounting information : Describe the way manager's use accounting information to create value in organizations. How do you use it in your personal life
Complete the company''s cash budget : Complete the company's cash budget for April in good form. Make sure to indicate what borrowing, if any, would be needed to attain the desired ending cash balance.
Determine the smallest diameter that can be selected for rod : A control rod made of yellow brass must not stretch more than 0.125 in when the tension in the wire is 800 lbs. Knowing that E = 15,000,000 psi and that the maximum allowable stress is 32 ksi (32,000 psi), determine the smallest diameter that can ..
Write methods that accept an array or list : Write methods that accept an array or list and returns lowest score, highest score, median score, average score and the standard deviation of the scores.

Reviews

Write a Review

JAVA Programming Questions & Answers

  You have to design and implement a simple and small email

helo i need your help in java assignment. i need solution asap. i have seen the same question on your website and even

  Discuss how an interface differs from a class

Discuss how an interface differs from a class, how interfaces are defined, and what does implementing an interface mean.

  Compute and output the prelim grade

Compute and output the Prelim Grade. Prelim Grade = Quiz * 25% + Seatwork * 10% + lab. Exercise * 20% + Assignment * 5% + Prelim Exam * 40%

  Compilers check programs for syntax errors

Compilers check programs for syntax errors, but frequently a lack of one symbol (such as a missing brace or comment starter) will cause the compiler to spill out a number of diagnostics without identifying the real error

  Create a class named blooddata that includes fields

Create a class named BloodData that includes fields that hold a blood type (the four blood types are O, A, B, and AB) and an Rh factor (the factors are + and -). Create a default constructor that sets the fields to "O" and "+", and an overloaded c..

  Create a web application for sheridan restaurant

Create a web application for Sheridan Restaurant Reviews that contains the following functionality - Display a table of all restaurants based on the city entered by the user

  Write a program that asks for purchase price

Write a program that asks for purchase price and to calculate, state sales tax, county sales tax and then display purchase price, both sales tax amount and then the total.

  What is server-side and client-side scripting

What is Server-side and Client-side scripting - Explain the differences between server-side and client - side scripting languages.

  Relation between the objects

What will be said about the relation between the objects object1 and object2 - Make this program using java programming.

  Add a draw() method to horse class.

Add a draw() method to your Horse class. You will also need to create a couple of Horses in your DrawPanel class, and call the draw() method for each Horse from the paintComponent() method. There is no need to modify the DrawPanelDriver class.

  Implement a fishlake simulation similar to the previous

implement a fishlake simulation similar to the previous assignment. you will then make adjustments to accommodate class

  Describe how an eavesdropped can gain access

Describe how an eavesdropped can gain access to the remote server with a relatively modest number of guesses ( Hint:  The eavesdropped starts guessing after the original user has typed all but one character of the password.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd