Действительно ли система событий C# детерминирована для программ единственной нити?

Возможный Дубликат:
Заказ выполнения обработчика событий

Действительно ли система событий C# детерминирована для программ единственной нити? Это означает, если я запущу события A, B, и C в этом заказе, они будут обработаны в том же самом заказе, каждый раз?

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

7
nl ja de
@Lloyd It' s в основном тот же самый вопрос, но it' s более чем 3 года, и принятый ответ говорит, что он мог измениться в будущем - он изменился?
добавлено автор Hackworth, источник
@mikez It' s чисто гипотетический вопрос, никакой код не был написан на данный момент. Если это действительно имеет значение, пожалуйста, примите и ответьте за худший случай.
добавлено автор Hackworth, источник
@Hackworth это - тот же самый вопрос? У того вопроса есть одно событие с несколькими подписчиками. Ваш вопрос упоминает многократные события. Который является им? Некоторый пример кода помог бы разъясниться.
добавлено автор mike z, источник

1 ответы

[для программ единственной нити], если я запускаю события A, B, и C в этом заказе, они будут обработаны в том же самом заказе, каждый раз?

Да. Увольнение события является просто сложным способом назвать метод. Таким образом, это эквивалентно:

На единственной нити, если я называю методы () , B() и затем C() , они выполнят в том заказе?

Конечно, они будут.

3
добавлено
вы действительно делаете правильное замечание. На единственной нити события (обычно) - вызванные вызовы функции пользователя. Когда пользователь сделает это, вызовите эту функцию. И желание всегда выполняет в заказе, которым их называют. Добавление многократных нитей делает вещи интересными.... События будут всегда выполнять в заказе, которым их называет НИТЬ, НАЗЫВАЯ ИХ. если две различных нити запустят то же самое событие, они выполнят одновременно, один на каждой нити, если захват/блокирование кода не будет существовать, чтобы позволить только 1 случай за один раз.
добавлено автор Nevyn, источник
Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot