Если вы не принять некоторые явные действия, обработчики событий вызываются в потоке, вызывает событие. Обычно «повышение события» равно вопрос вызова делегата, который является синхронной операцией в одном потоке.
Также как сделать классную резьбу безопасной без использования каких-либо замков.
Мы не почти достаточно информации, чтобы ответить на этот вопрос, и это было бы в другом вопросе идеально. Но прежде чем задать этот отдельный вопрос, вы должны действительно спросить себя, что вы подразумеваете под «потокобезопасным» - это может означать много разных вещей для разных людей. См. Eric Lippert's blog post on the topic для получения дополнительной информации.
(В частности, если вы думаете о событиях, рассмотреть возможность того, что один поток выписывает или отписывается от события , пока он поднимается - что вы должны произойти?)
Спасибо Джон. Итак, для первой части вопроса - независимо от того, какой поток регистрирует событие - вызывающий поток - это поток, который будет обрабатывать выполнение. – Alag20
@ Alag20: Да, если вы не предпримете шаги, чтобы сделать что-то другое. В принципе, для вас нет ничего автоматизированного. –
Что касается второго вопроса - это общий вопрос - что нужно сделать для обеспечения безопасности любого класса. Это может быть переменные, события, подписчики и т. Д. – Alag20