3
0
Mirror von https://github.com/IntellectualSites/FastAsyncWorldEdit.git synchronisiert 2024-12-25 10:30:04 +01:00

Actually implement ChunkHolder/ChunkSet pools (#1840)

Dieser Commit ist enthalten in:
Jordan 2022-06-24 10:13:58 +01:00 committet von GitHub
Ursprung 800988aae7
Commit 8094b68967
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 4AEE18F83AFDEB23

Datei anzeigen

@ -67,7 +67,13 @@ public class ChunkHolder<T extends Future<T>> implements IQueueChunk<T> {
@Override
public synchronized void recycle() {
delegate = NULL;
chunkSet = null;
if (chunkSet != null) {
chunkSet.recycle();
chunkSet = null;
}
chunkExisting = null;
extent = null;
POOL.offer(this);
}
public synchronized IBlockDelegate getDelegate() {
@ -1039,7 +1045,9 @@ public class ChunkHolder<T extends Future<T>> implements IQueueChunk<T> {
chunkSet.setBitMask(bitMask);
try {
return this.call(chunkSet, () -> {
recycle();
this.delegate = NULL;
chunkSet.recycle();
chunkSet = null;
calledLock.unlock(stamp);
});
} catch (Throwable t) {