mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-19 19:25:48 +00:00
Possibly fixes #1346 and other concurrency issues
This commit is contained in:
parent
e5fd1ad5b4
commit
1f7e03a270
@ -87,6 +87,7 @@ https://thebusybiscuit.github.io/builds/TheBusyBiscuit/Slimefun4/stable/#4
|
|||||||
* Fixed #1344
|
* Fixed #1344
|
||||||
* Fixed #1349
|
* Fixed #1349
|
||||||
* Fixed #1332
|
* Fixed #1332
|
||||||
|
* Fixed #1356 and maybe other concurrency issues
|
||||||
|
|
||||||
## Release Candidate 3 (21 Nov 2019)
|
## Release Candidate 3 (21 Nov 2019)
|
||||||
https://thebusybiscuit.github.io/builds/TheBusyBiscuit/Slimefun4/stable/#3
|
https://thebusybiscuit.github.io/builds/TheBusyBiscuit/Slimefun4/stable/#3
|
||||||
|
@ -9,6 +9,8 @@ import java.util.Iterator;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.concurrent.ConcurrentMap;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@ -35,9 +37,9 @@ public class TickerTask implements Runnable {
|
|||||||
|
|
||||||
private boolean halted = false;
|
private boolean halted = false;
|
||||||
|
|
||||||
protected final Map<Location, Location> move = new HashMap<>();
|
protected final ConcurrentMap<Location, Location> move = new ConcurrentHashMap<>();
|
||||||
protected final Map<Location, Boolean> delete = new HashMap<>();
|
protected final ConcurrentMap<Location, Boolean> delete = new ConcurrentHashMap<>();
|
||||||
private final Map<Location, Long> blockTimings = new HashMap<>();
|
private final ConcurrentMap<Location, Long> blockTimings = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
private final Set<BlockTicker> tickers = new HashSet<>();
|
private final Set<BlockTicker> tickers = new HashSet<>();
|
||||||
|
|
||||||
@ -46,12 +48,12 @@ public class TickerTask implements Runnable {
|
|||||||
private int machines = 0;
|
private int machines = 0;
|
||||||
private long time = 0;
|
private long time = 0;
|
||||||
|
|
||||||
private final Map<String, Integer> chunkItemCount = new HashMap<>();
|
private final ConcurrentMap<String, Integer> chunkItemCount = new ConcurrentHashMap<>();
|
||||||
private final Map<String, Integer> machineCount = new HashMap<>();
|
private final ConcurrentMap<String, Integer> machineCount = new ConcurrentHashMap<>();
|
||||||
private final Map<String, Long> machineTimings = new HashMap<>();
|
private final ConcurrentMap<String, Long> machineTimings = new ConcurrentHashMap<>();
|
||||||
private final Map<String, Long> chunkTimings = new HashMap<>();
|
private final ConcurrentMap<String, Long> chunkTimings = new ConcurrentHashMap<>();
|
||||||
private final Set<String> chunksSkipped = new HashSet<>();
|
private final Set<String> chunksSkipped = new HashSet<>();
|
||||||
private final Map<Location, Integer> buggedBlocks = new HashMap<>();
|
private final ConcurrentMap<Location, Integer> buggedBlocks = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
private boolean running = false;
|
private boolean running = false;
|
||||||
|
|
||||||
@ -77,7 +79,7 @@ public class TickerTask implements Runnable {
|
|||||||
machineTimings.clear();
|
machineTimings.clear();
|
||||||
blockTimings.clear();
|
blockTimings.clear();
|
||||||
|
|
||||||
final Map<Location, Integer> bugged = new HashMap<>(buggedBlocks);
|
Map<Location, Integer> bugged = new HashMap<>(buggedBlocks);
|
||||||
buggedBlocks.clear();
|
buggedBlocks.clear();
|
||||||
|
|
||||||
Map<Location, Boolean> remove = new HashMap<>(delete);
|
Map<Location, Boolean> remove = new HashMap<>(delete);
|
||||||
|
Loading…
Reference in New Issue
Block a user