@Override public Object getModuleBuilder() { return BARRIER.withRead(provideModuleInstance); }
@Override public Object getModuleBuilder() { return BARRIER.withRead(provideModuleInstance); }
/** * As with {@link #withRead(Invokable)}, creating an {@link Invokable} wrapper around the runnable object. */ public void withRead(final Runnable runnable) { Invokable<Void> invokable = new Invokable<Void>() { @Override public Void invoke() { runnable.run(); return null; } }; withRead(invokable); }
/** * As with {@link #withRead(Invokable)}, creating an {@link Invokable} wrapper around the runnable object. */ public void withRead(final Runnable runnable) { Invokable<Void> invokable = new Invokable<Void>() { @Override public Void invoke() { runnable.run(); return null; } }; withRead(invokable); }
public void run() { barrier.withRead(delegate); } }
public void withRead(Runnable runnable) { barrier.withRead(runnable); } }
public int readCounter() { return barrier.withRead(new Invokable<Integer>() { @Override public Integer invoke() { return getCounter(); } }); }
public int getCounter() { return barrier.withRead(new Invokable<Integer>() { @Override public Integer invoke() { return counter; } }); }
public void incrementIfNonNegative() { barrier.withRead(new Runnable() { @Override public void run() { if (counter >= 0) incrementCounter(); } }); }
@Override public void run() { barrier.withRead(new Runnable() { @Override public void run() { target.incrementCounter(); } }); } }
public void incrementViaRunnable() { barrier.withRead(new Runnable() { @Override public void run() { Runnable r = new Runnable() { @Override public void run() { incrementCounter(); } }; r.run(); } }); }
return BARRIER.withRead(find);
public boolean tryIncrementIfNonNegative() { final List<Boolean> result = new ArrayList<Boolean>(); barrier.withRead(new Runnable() { @Override public void run() { if (counter >= 0) result.add(tryIncrementCounter()); } }); return result.get(0); }
return BARRIER.withRead(find);
boolean result = barrier.withRead(invokable);