Самый чистый способ вызвать межпоточные события

Пара замечаний:

  • Не создавайте простых делегатов явно в подобном коде, если вы не используете версию до версии 2.0, чтобы вы могли использовать:
   BeginInvoke(new EventHandler(mCoolObject_CoolEvent), 
               sender, 
               args);
  • Также вам threads не нужно создавать и заполнять csharp массив объектов, потому что multithreading параметр args имеет тип params, поэтому events вы можете просто передать multithreading список.

  • Я, вероятно, предпочел events бы Invoke BeginInvoke, так как последнее приведет visual-c# к асинхронному вызову кода, который multi-threaded может быть или не быть тем, что c#-language вам нужно, но затруднит обработку threading последующих исключений без threads вызова EndInvoke. Вместо этого ваше events приложение получит TargetInvocationException.

c#

multithreading

events

2022-10-18T20:04:21+00:00
Вопросы с похожей тематикой, как у вопроса:

Самый чистый способ вызвать межпоточные события