Здравствуйте, Shmj, Вы писали:
S>Еще далее. Фоновые задачи. Пользователь мог выйти, но при этом фоновую задачу вы не остановили. Данные удалили — а фоновая задача об этом не знает, т.к. исполняется в отдельном изоляте — она подумает что ничего не изменилось и сохранит некие новые данные для текущего пользователя. Значит обязательно остановить все фоновые задачи, дождаться остановки — и уже тогда удалять.
ССЗБ называется. Пусть тогда изолированные друг от друга функциональные части программы через сокет работают. При выходе или падении одной из них все остальные узнают об этом, по крайней мере. при первой же попытке обратиться друг к другу, если не предусмотрен поток на слушающем сокете.