Являются ли классы C# ManualResetEvent и AutoResetEvent дорогостоящими для создания или обслуживания?Какие ресурсы потребляет AutoResetEvent/ManualResetEvent?
Они потребляют какие-то ограниченные ресурсы ядра Windows, и если да, то насколько это ограничено?
E.g. если у меня есть код, который может создать новый AutoResetEvent каждые 100 мс (который должен быть удален вскоре после этого), я должен беспокоиться о том, чтобы ставить старые AutoResetEvents в пул и повторно использовать их, или это не является серьезной проблемой?
Поскольку они являются IDisposables, я полагаю, они потребляют какой-то ограниченный ресурс. Сколько они потребляют, и в какой момент я должен начать беспокоиться об использовании слишком многих из них?
Тот факт, что есть ManualResetEventSlim, но не AutoResetEventSlim также меня немного беспокоит.
Я бы посоветовал альтернативный дизайн, который не требует создания всех создаваемых динамических событий. –
Спасибо за совет, это было бы и моим интуитивным пониманием. Почему бы вам посоветовать это? Каковы скрытые затраты на создание этих событий динамически? – HugoRune
Он основан на опыте встроенных систем. Обычно потоки и объекты синхронизации потоков создаются заранее. –