mirror of
https://github.com/filoghost/HolographicDisplays.git
synced 2024-11-28 13:25:12 +01:00
Remove duplicate thread initialization
This commit is contained in:
parent
0754e0ac33
commit
9dcf6035fe
@ -13,37 +13,21 @@ import java.util.concurrent.LinkedBlockingQueue;
|
||||
/**
|
||||
* This is a quick but ugly helper class for creating and sending packets async.
|
||||
* Static classes like this should be avoided.
|
||||
* Important note: this executor can only have one thread, as packets must be sent in a precise order.
|
||||
*/
|
||||
public class PacketSenderExecutor {
|
||||
|
||||
private static volatile BlockingQueue<Runnable> tasks;
|
||||
private static volatile Thread thread;
|
||||
|
||||
private static final Runnable STOP_MARKER_TASK = () -> {};
|
||||
|
||||
static {
|
||||
tasks = new LinkedBlockingQueue<>();
|
||||
thread = new Thread(() -> {
|
||||
while (true) {
|
||||
try {
|
||||
Runnable task = tasks.take();
|
||||
task.run();
|
||||
} catch (Throwable t) {
|
||||
Log.severe("Error in packet sender task", t);
|
||||
}
|
||||
}
|
||||
});
|
||||
thread.setName("Holographic Displays async packets");
|
||||
thread.start();
|
||||
}
|
||||
|
||||
public static void execute(Runnable task) {
|
||||
tasks.add(task);
|
||||
}
|
||||
|
||||
public static void start() {
|
||||
tasks = new LinkedBlockingQueue<>();
|
||||
thread = new Thread(() -> {
|
||||
Thread thread = new Thread(() -> {
|
||||
while (true) {
|
||||
try {
|
||||
Runnable task = tasks.take();
|
||||
@ -56,7 +40,7 @@ public class PacketSenderExecutor {
|
||||
}
|
||||
}
|
||||
});
|
||||
thread.setName("Holographic Displays packet sender");
|
||||
thread.setName("Holographic Displays async packets");
|
||||
thread.start();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user