Skip to content

Commit 2d0e79b

Browse files
committed
use deamon threads
1 parent 1251307 commit 2d0e79b

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

SwiftKitCore/src/main/java/org/swift/swiftkit/core/SwiftAsync.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,22 @@
1616

1717
import java.util.concurrent.ExecutorService;
1818
import java.util.concurrent.Executors;
19+
import java.util.concurrent.ThreadFactory;
20+
import java.util.concurrent.atomic.AtomicInteger;
1921

2022
public final class SwiftAsync {
21-
public static final ExecutorService SWIFT_ASYNC_EXECUTOR = Executors.newCachedThreadPool();
23+
24+
private static final ThreadFactory SWIFT_ASYNC_THREAD_FACTORY = new ThreadFactory() {
25+
private final AtomicInteger threadNumber = new AtomicInteger(1);
26+
private final String namePrefix = "swift-async-pool-";
27+
28+
@Override
29+
public Thread newThread(Runnable r) {
30+
Thread t = new Thread(r, namePrefix + threadNumber.getAndIncrement());
31+
t.setDaemon(true);
32+
return t;
33+
}
34+
};
35+
36+
public static final ExecutorService SWIFT_ASYNC_EXECUTOR = Executors.newCachedThreadPool(SWIFT_ASYNC_THREAD_FACTORY);
2237
}

0 commit comments

Comments
 (0)