Save
Busy. Please wait.
Log in using Clever
or

show password
Forgot Password?

Don't have an account?  Sign up 
Sign up using Clever
or

Username is available taken
show password

why


Make sure to remember your password. If you forget it there is no way for StudyStack to send you a reset link. You would need to create a new account.
Your email address is only used to allow you to reset your password. See our Privacy Policy and Terms of Service.


Already a StudyStack user? Log In

Reset Password
Enter the associated with your account, and we'll email you a link to reset your password.
focusNode
Didn't know it?
click below
 
Knew it?
click below
Don't know
Remaining cards (0)
Know
0:00
share
Embed Code - If you would like this activity on your web page, copy the script below and paste it into your web page.

  Normal Size     Small Size show me how

OCPJP710.4

Cert Obj Identify potential threading problems.

[10.4.1] Certification Objective 10.4 Identify potential threading problems.
[10.4.2] One static variable - 2 run methods using it as a for loop variable It is certainly possible that the program may run for ever. Since both the threads may get the CPU time intermittently, k may never come down to 0 or may never reach the max. integer.
[10.4.3] One static variable not declared volatile (Since k is not declared volatile, updates made by one thread may not be visible to another thread at all. ) It is, therefore, possible that decrementor thread ends after 10 iterations and the incrementor thread keeps going until it overflows and goes back to 0.
[10.4.4] Setting thread priorities (In this case, the program is trying to manipulate the scheduling of thread using priorities which is a bad idea. Simply because operating systems behave differently about priorities.) For ex. Win32 uses Time Slicing i.e. it gives time to all the thread in proportion of their priorities but many unix systems do not let low priority threads run at all if a higher priority thread is running. So the output cannot be determined.
[10.4.5] What will be the output when this program is compiled and run from the command line? Can be a trick question if there is no main method
[10.4.6] Deadlock describes a situation where two or more threads are blocked forever, waiting for each other. Threads T1 and T2 need a File and a Printer. T1 acquires the lock for File and is about to acquire the lock for Printer but before it could acquire it, T2 gets Printer lock and tries to acquire the lock for the file (which is already held by T1).
[10.4.7]Starvation describes a situation where a thread is unable to gain regular access to shared resources and is unable to make progress. This happens when shared resources are made unavailable for long periods by "greedy" threads. For example, suppose an object provides a synchronized method that often takes a long time to return. If one thread invokes this method frequently, other threads that also need frequent synchronized access to the same object will often be blocked.
[10.4.8]Livelock: A thread often acts in response to the action of another thread. If other thread's action is also a response to action of another thread, livelock may result. Livelocked threads are not blocked simply too busy responding to each other. Both threads releasing and acquiring the locks in tandem but none of them getting both the locks at the same time. So neither of the threads is blocked but neither of the threads is able to do any real work. All they are doing is notifying each other.
Created by: MVK2013
 

 



Voices

Use these flashcards to help memorize information. Look at the large card and try to recall what is on the other side. Then click the card to flip it. If you knew the answer, click the green Know box. Otherwise, click the red Don't know box.

When you've placed seven or more cards in the Don't know box, click "retry" to try those cards again.

If you've accidentally put the card in the wrong box, just click on the card to take it out of the box.

You can also use your keyboard to move the cards as follows:

If you are logged in to your account, this website will remember which cards you know and don't know so that they are in the same box the next time you log in.

When you need a break, try one of the other activities listed below the flashcards like Matching, Snowman, or Hungry Bug. Although it may feel like you're playing a game, your brain is still making more connections with the information to help you out.

To see how well you know the information, try the Quiz or Test activity.

Pass complete!

"Know" box contains:
Time elapsed:
Retries:
restart all cards