Hypothetical method lock over an object lock

Assignment Help C/C++ Programming
Reference no: EM13189609

Consider the following class de nition. This class is considered to be in an inconsistent state if the isConsistent() method returns false false false;

public class Foo {
long mVaLue;
long mVaLueTimesTwo;
/*a
• SETS THE STATE OF DUR OBJECT.

• PAUSES BRIEFLY BETWEEN SETTING THE FIRST AND SECOND
• VALUES IN ORDER TD INCREASE THE PROBABILITY THAT THE
• OBJECT WILL BE INTERROGATED WHILE IN AN INCONSISTENT
• STATE.

• OPARAM PVALUE THE VALUE TO UPDATE THE CURRENT STATE WITH,
public synchronised void set Values(long plIalue) { stfalue p Value ;
doPause(3);
mVaLueTimesTwo = pValue • 2;
}
/•:
• CHECKS TD SEE IF THE CURRENT STATE OF OUR OBJECT IS
• CONSISTENT.

• :RETURN TVS. 17 17 IS. * /
public synchronized boolean t sCons is t ent {
return (mVatue • 2 == mValueTimesTwo);
}
/**
• UTILITY ROUTINE - PAUSES OUR THREAD BY CALLING
• SLEEP AND SUPRESSING ANY INTERRUPTEDEXCEPTION.
* /
private static void doPause(lon$ pPause) { try {
Thread.steep(pPause);
} catch (InterruptedException e) { e.printStackTrace();
}
}

a. Imagine a hypothetical version of Java where the object lock is replaced by a method lock. Under this system a call to a synchronised method would assign a lock for that method to the calling thread. No other thread could then call this method because the lock is already allocated. However, other methods of the same object could still be called. Upon the method completing, the lock is released. Under this system, is it possible to put an instance of the Foo class into an inconsistant state? If so, give a code example which could create this situation and explain how it does so. If not, explain how the method lock prevents the possibility of inconsistent state.

b. Provide one possible motivation for choosing this hypothetical method lock over an object lock. Explain your answer.

Reference no: EM13189609

Questions Cloud

How much mix is needed to make each amount of lemonade : If q is the number of quarts of lemonade , then (1/4) q can be used to find the number of cups of lemonade mix needed to make the lemonade. How much mix is needed to make each amount of lemonade.
Use the gram-schmidt process to rewrite : Consider the basis B={(3,2),(1,-4)} for R^2, Use the Gram-Schmidt process to rewrite this basis as an orthonormalized basis.
Find the basis and dimension of the eigenspace : Find the basis and dimension of the eigenspace
Define the differential operation : Define the differential operation Dx: P^3 to P^2 such that Dx(p)=p' Determine a matrix A such that Dx(p)=Ap=p'
Hypothetical method lock over an object lock : Imagine a hypothetical version of Java where the object lock is replaced by a method lock. Under this system a call to a synchronised method would assign a lock for that method to the calling thread.
What percent of calories come from fat : You determine that 1 ounce of the peanut butter contains 115 calories and 9 grams of fat. What percent of calories come from fat?
Find the area of the trapezium : If the the two parellel sides of a trapezium is 11cm and 18cm .and the height is 10 cm. find the area of the trapezium.
What is the probability of a randomly selected student : If 309 students was enrolled in a weekend and evening program, or a regional center with 6,633 students what is the probability of a randomly selected student attended a regional center or the weekend and evening program?
How many cds does he have : Sam has a total of 58 DVD's and CD's. If the number of CD's is two more than three times the number of DVD's, how many CD's does he have?

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Create program that uses functions and reference parameters

Create program that uses functions and reference parameters, and asks user for the outside temperature.

  Write a program using vectors and iterators

Write a program using vectors and iterators that allows a user to maintain a personal list of DVD titles

  Write the code required to analyse and display the data

Calculate and store the average for each row and column. Determine and store the values for the Average Map.

  Write a webservices application

Write a webservices application that does a simple four function calculator

  Iimplement a client-server of the game

Iimplement a client-server version of the rock-paper-scissors-lizard-Spock game.

  Model-view-controller

Explain Model-View-Controller paradigm

  Design a nested program

How many levels of nesting are there in this design?

  Convert celsius temperatures to fahrenheit temperatures

Write a C++ program that converts Celsius Temperatures to Fahrenheit Temperatures.

  Evaluate and output the value in the given base

Write C program that will input two values from the user that are a Value and a Base with which you will evaluate and output the Value in the given Base.

  Design a base class shape with virtual functions

Design a base class shape with virtual functions

  Implementation of classes

Implementation of classes Chart and BarChart. Class barChart chould display a simple textual representation of the data

  Technical paper: memory management

Technical Paper: Memory Management, The intent of this paper is to provide you with an in depth knowledge of how memory is used in executing, your programs and its critical support for applications.

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