Atomic переменная вместо synchronized?
От: TblKBA  
Дата: 03.03.08 21:02
Оценка:
уважаемые эксперты, будет ли работать код. Хотел избавится от синхронизации (synchronized). Dispatcher может добавлятся в threadpool для исполнения из разных потоков

с явой раньше не работал, буду благодарен за ответы.


import java.util.concurrent.atomic.AtomicInteger;


public class Dispatcher implements Callable{
...
AtomicInteger runningInstances;


public Object call() throws IOException{

if(runningInstances.get()==0)
{
dispatch();
}
else
{
runningInstances.incrementAndGet();
}
return true;
}

public void dispatch() throws IOException
{

while(runningInstances.get()>0)
{
runningInstances.decrementAndGet();
...//do dispatch
}
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.