Когда именно события выполняются в C #?

Я разработал приложение на C #, которое интенсивно использует события. Теперь это приложение иногда делает забавные вещи, которые я не могу понять или отследить до конкретной причины, почему они должны происходить. Я считаю, что причиной этих периодических сбоев является некое состояние параллелизма или гонки, которого я не ожидал.

Как именно события обрабатываются в C #? Если событие возникает, будет ли (а) выполнена ли часть кода, связанная с этим событием, немедленно ? Или событие (b) будет помещено в стек событий и будет выполняться всякий раз, когда .NET сочтет его подходящим для выполнения, в то время как другой код тем временем выполняется?

11
задан Braiam 3 June 2014 в 23:12
поделиться