3
0
mirror of https://github.com/Qortal/altcoinj.git synced 2025-02-07 14:54:15 +00:00

Wallet: Short-circuit runnable creation if executor is SAME_THREAD

This commit is contained in:
Mike Hearn 2014-01-15 01:56:07 +01:00
parent b8a1976422
commit 8e58839d81

View File

@ -3229,6 +3229,9 @@ public class Wallet implements Serializable, BlockChainListener, PeerFilterProvi
private void queueOnTransactionConfidenceChanged(final Transaction tx) {
checkState(lock.isHeldByCurrentThread());
for (final ListenerRegistration<WalletEventListener> registration : eventListeners) {
if (registration.executor == Threading.SAME_THREAD) {
registration.listener.onTransactionConfidenceChanged(this, tx);
} else {
registration.executor.execute(new Runnable() {
@Override
public void run() {
@ -3237,6 +3240,7 @@ public class Wallet implements Serializable, BlockChainListener, PeerFilterProvi
});
}
}
}
private void maybeQueueOnWalletChanged() {
// Don't invoke the callback in some circumstances, eg, whilst we are re-organizing or fiddling with