diff options
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/utils/SerialSingleThreadExecutor.java')
-rw-r--r-- | src/main/java/de/thedevstack/conversationsplus/utils/SerialSingleThreadExecutor.java | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/utils/SerialSingleThreadExecutor.java b/src/main/java/de/thedevstack/conversationsplus/utils/SerialSingleThreadExecutor.java deleted file mode 100644 index 4871af43..00000000 --- a/src/main/java/de/thedevstack/conversationsplus/utils/SerialSingleThreadExecutor.java +++ /dev/null @@ -1,34 +0,0 @@ -package de.thedevstack.conversationsplus.utils; - -import java.util.ArrayDeque; -import java.util.Queue; -import java.util.concurrent.Executor; -import java.util.concurrent.Executors; - -public class SerialSingleThreadExecutor implements Executor { - - final Executor executor = Executors.newSingleThreadExecutor(); - final Queue<Runnable> tasks = new ArrayDeque(); - Runnable active; - - public synchronized void execute(final Runnable r) { - tasks.offer(new Runnable() { - public void run() { - try { - r.run(); - } finally { - scheduleNext(); - } - } - }); - if (active == null) { - scheduleNext(); - } - } - - protected synchronized void scheduleNext() { - if ((active = tasks.poll()) != null) { - executor.execute(active); - } - } -}
\ No newline at end of file |