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
public void close() {
final List<Thread> closeThreads;
synchronized (managers) {
for (var m : new ArrayList<>(managers)) {
m.close();
closeThreads = new ArrayList<>(managers).stream()
.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();
}
}