Given the following code, which statements concerning the objects referenced through the member variables i, j and k are true, given that any thread may call the methods a, b and c at any time? class Counter{ int v = 0; synchronized void inc() { v++;} synchronized void dec() { v--;} } public class Q7ed5{ Counter i; Counter j; Counter k; public synchronized void a(){ i.inc(); System.out.println("a"); i.dec(); } public synchronized void b(){ i.inc(); j.inc(); k.inc(); System.out.println("b"); i.dec(); j.dec(); k.dec(); } public void c(){ k.inc(); System.out.println("c"); k.dec(); } } 1. i.v is guaranteed always to be 0 or 1 2. j.v is guaranteed always to be 0 or 1 3. k.v is guaranteed always to be 0 or 1 4. j.v will always be greater than or equal to k.v at any given time 5. k.v will always be greater than or equal to j.v at any given time Can you please let me know the correct answer for this. Thanks
------------------ Ch. Vijayalakshmi
Ch. Vijayalakshmi
sunilkumar ssuparasmul
Ranch Hand
Joined: Dec 13, 2000
Posts: 142
posted
0
Refer to previous 2 day post the answer are i and ii
"Winners don't do different things<br /> They do things differently"
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.