Adjust some synchronisation

Dieser Commit ist enthalten in:
dordsor21 2021-09-02 18:06:36 +01:00
Ursprung 09c4655be7
Commit 79f4be3941
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 1E53E88969FFCF0B
2 geänderte Dateien mit 17 neuen und 15 gelöschten Zeilen

Datei anzeigen

@ -31,13 +31,14 @@ public abstract class CharBlocks implements IBlocks {
};
protected final Section empty = new Section() {
@Override
public synchronized char[] get(CharBlocks blocks, int layer) {
public char[] get(CharBlocks blocks, int layer) {
// Defaults to aggressive as it should only be avoided where we know we've reset a chunk during an edit
return get(blocks, layer, true);
}
@Override
public synchronized char[] get(CharBlocks blocks, int layer, boolean aggressive) {
public char[] get(CharBlocks blocks, int layer, boolean aggressive) {
synchronized (this) {
char[] arr = blocks.blocks[layer];
if (arr == null) {
arr = blocks.blocks[layer] = blocks.update(layer, null, aggressive);
@ -55,6 +56,7 @@ public abstract class CharBlocks implements IBlocks {
}
return arr;
}
}
@Override
public boolean isFull() {

Datei anzeigen

@ -24,7 +24,7 @@ public abstract class CharGetBlocks extends CharBlocks implements IChunkGet {
}
@Override
public boolean trim(boolean aggressive) {
public synchronized boolean trim(boolean aggressive) {
for (int i = 0; i < sectionCount; i++) {
sections[i] = empty;
blocks[i] = null;