Performance tweak, only signal if there are threads waiting.

pull/793/merge
Brett Wooldridge 8 years ago
parent 4a454a4e9e
commit a3386d080e

@ -189,12 +189,14 @@ public class ConcurrentBag<T extends IConcurrentBagEntry> implements AutoCloseab
{ {
bagEntry.setState(STATE_NOT_IN_USE); bagEntry.setState(STATE_NOT_IN_USE);
if (waiters.get() != 0) {
synchronizer.signal();
}
final List<Object> threadLocalList = threadList.get(); final List<Object> threadLocalList = threadList.get();
if (threadLocalList != null) { if (threadLocalList != null) {
threadLocalList.add(weakThreadLocals ? new WeakReference<>(bagEntry) : bagEntry); threadLocalList.add(weakThreadLocals ? new WeakReference<>(bagEntry) : bagEntry);
} }
synchronizer.signal();
} }
/** /**

Loading…
Cancel
Save