Close all managers in parallel in multi account mode

This commit is contained in:
AsamK 2025-09-18 21:44:58 +02:00
parent 21a546d2bc
commit 52d818be45

View File

@ -123,10 +123,20 @@ public class MultiAccountManagerImpl implements MultiAccountManager {
@Override @Override
public void close() { public void close() {
final List<Thread> closeThreads;
synchronized (managers) { synchronized (managers) {
for (var m : new ArrayList<>(managers)) { closeThreads = new ArrayList<>(managers).stream()
m.close(); .map(m -> Thread.ofPlatform().name("manager-close-" + m.getSelfNumber()).start(m::close))
.toList();
}
for (final var t : closeThreads) {
try {
t.join();
} catch (InterruptedException ignored) {
} }
}
synchronized (managers) {
managers.clear(); managers.clear();
} }
} }