synchronized

Is there a set of Win32 API functions to manage synchronized queues?

Hi, I have a program with several worker threads, and a main thread that receives jobs. In the main thread I want to queue the jobs onto a synchronized queue, and have the worker threads sitting there all waiting on the queue. When there's something in the queue I want the worker to pull the job from the queue, while the remaining work ...

Can a thread call wait() on two locks at once in Java (6)

I've just been messing around with threads in Java to get my head around them (it seems like the best way to do so) and now understand what's going on with synchronize, wait() and notify(). I'm curious about whether there's a way to wait() on two resources at once. I think the following won't quite do what I'm thinking of (edit: note th...

Difference between synchronization of field reads and volatile

In a nice article with some concurrency tips, an example was optimized to the following lines: double getBalance() { Account acct = verify(name, password); synchronized(acct) { return acct.balance; } } If I understand that correctly, the point of the synchronization is to ensure that the value of acct.balance that are read by ...

Synchronized return objective-c

- (id)methodThatReturnsSomething { @synchronized(self) { return nil; } } When I do this on Xcode, it returns me a warning: "Control reaches end of non-void function" Is there any problem with that code? ...

Is 'synchronized' really just syntactic sugar?

I am new to multithreading, and I wrote this code which prints the numbers 1-10000 by having concurrently running threads increment and print a variable. Here's the code I'm using: package threadtest; public class Main{ static int i=0; static Object lock=new Object(); private static class Incrementer extends Thread{ ...

synchronized section does not block!

I've noticed something very strange yesterday. It seems that two threads are entering two synchronized blocks locking on the same object at the same time. The class (MyClass) containing the relevant code looks similar to this: private static int[] myLock = new int[0]; protected static int methodA(final long handle, final byte[] so...

Does Firefox synchronize requests for the same page?

I'm using Firefox 3.6.6. I have a PHP script called index.php with the following code: <?php sleep(20); die(time()); ?> I open two browser tabs, copy the URL into each of them, and then quickly hit enter in each tab. The first tab completes in just over 20 seconds. The second tab completes in just over 40 seconds. I do the same ex...

Synchronized block lock object question

I know the difference between synchronized method and synchronized block but I am not sure about the synchronized block part. Assuming I have this code class Test { private int x=0; private Object lockObject = new Object(); public void incBlock() { synchronized(lockObject) { x++; } System.out.println("x="+x); ...

How to differentiate when wait(long timeout) exit for notify or timeout?

Having this wait declaration: public final native void wait(long timeout) throws InterruptedException; It could exit by InterruptedException, or by timeout, or because Notify/NotifyAll method was called in another thread, Exception is easy to catch but... There is any way to know if the exits cause was timeout or notify? EDIT: This...

Using synchronized lists

This is my first time using the synchronized keyword, so I am still unsure of how it exactly works. I have a list that I want to be accessed by multiple threads so I do this: players = Collections.synchronizedList(new ArrayList<Player>(maxPlayers)); Now, I want to make sure that I am not calling players.add() at the same time as playe...

java synchronized on method Not working?

I'm experimenting Java Multi-Threading using synchronization on method comparing with Atomic variables (java.util.concurrent.atomic package). Below are the classes: // Interface ICounter.java public interface ICounter { public void increment(); public void decrement(); public int value(); ...

Spring and synchronization for part of the method

I have a manager as Spring wired bean. I believe every bean defined for spring by default is wired as singleton. I have some methods in this bean which I need to synchronize. How should I be doing that then -- void zzz() { synchronized (this) { ... } } or void zzz() { synchronized (MyClass.class) { ... } } ? ...

Difference between volatile and synchronized in JAVA (j2me)

Hi! I am wondering at the difference between declaring a variable as volatile and always accessing the variable in a synchronized(this) block in JAVA (particularly J2ME)? According to this article http://www.javamex.com/tutorials/synchronization_volatile.shtml there is a lot to be said and there are many differences but also some simila...

Java: Do all mutable variables need to be volatile when using locks?

Does the following variable, x, need to be volatile? Or does the manipulation within a utils.concurrent lock perform the same function as a synchronized block (ensuring it's written to memory, and not stored in cpu cache)? myMethod(){ myLock.lock(); x++; myLock.unlock(); } ...

Does Java synchronized keyword flush the cache?

Java 5 and above only. Assume a multiprocessor shared-memory computer (you're probably using one right now). Here is a code for lazy initialization of a singleton: public final class MySingleton { private static MySingleton instance = null; private MySingleton() { } public static MySingleton getInstance() { if (instance == ...

Java help needed: Sharing an object between two threads and main program

I am new to Java and I'm attending a Concurrent Programming course. I am desperately trying to get a minimal working example that can help to demonstrate concepts I have learnt like using 'synchronized' keyword and sharing an object across threads. Have been searching, but could not get a basic framework. Java programmers, kindly help. ...

Lock acquistion on static members within a Java Class

Hi, I am currently resolving a performance degradation issue due to heavy lock contention. I am considering "Lock splitting" to resolve this issue. The skeletal usage pattern is :: CURRENT USAGE :: public class HelloWorld{ public static synchronized method1(){ //uses resource 1 } public static synchronized method2(){...

java: wait until another thread performs a statement n times

Hi, what is the best way to stop a thread and wait for a statement (or a method) to be executed a certain number of times by another thread? I was thinking about something like this (let "number" be an int): number = 5; while (number > 0) { synchronized(number) { number.wait(); } } ... synchronized(number) { number--; number....

Why doesn't EclEmma cover syncronized(MyClass.class)?

Dear Sirs, I'm using EclEmma for coverage analysis. My Java code includes a synchronized(MyClass.class) {} block. EclEmma says it is only partially covered, event though I've got a unit test in which one thread gets access and another thread is blocked. Is it possible to get full coverage of synchronized using EclEmma? Can I annotat...

is there any difference if thread is waiting for monitor to be freed before synchronized block or if it calls wait()

I've read many docs about thread states, some of them tells that there is two different states: blocked (before synchronized) and wait (if calls wait), some others are telling that there is only one state: wait. Moreover, some docs telling that you should call notify() for every wait() and if you don't then threads waiting() will never b...