У меня есть метод, который выполняет обработку событий, которые я получаю от сервера. Метод может быть вызван из нескольких мест в разных классах. Я хочу синхронизировать обработку событий, используя DispatchQueue / Serial Queue, чтобы отбросить повторяющиеся события в нескольких вызовах. Я знаю об очередях отправки и о том, как это работает, но я не могу найти лучшее решение для моей проблемы.
Для достижения: синхронизируя, я хочу обеспечить последовательную обработку, чтобы отбросить дублирующиеся события.
func process(events:[Events]) {
// by synchronizing I want to ensure sequential processing, to discard duplicate events
for event in events {
// process, save to db,
}
// issue notifications, etc
}
class A {
process(events)
}
class B {
process(events)
}
Любая помощь приветствуется. Спасибо!