Ускорить вызов события - C#

Узнай цену своей работы

Формулировка задачи:

Существует высокоскоростной метод который каждый такт вызывает событие типа:
Листинг программы
  1. public delegate void MyEvent(double Procent);
  2. public event MyEvent Procent;
Проблема в том что один только вызов этого события (даже если на него ничто не подписано) занимает ~5 - 15 ms. Возможно ли ускорить вызов события?

Решение задачи: «Ускорить вызов события»

textual
Листинг программы
  1. public class TestEvent
  2.     {
  3.         private readonly ITest _test;
  4.  
  5.         public TestEvent(ITest test)
  6.         {
  7.             _test = test;
  8.         }
  9.  
  10.         public void OnProcent()
  11.         {
  12.             _test.Procent(0);
  13.         }
  14.     }
  15.  
  16.     public interface ITest
  17.     {
  18.         void Procent(double Procent);
  19.     }
  20.  
  21.     public class Test : ITest
  22.     {
  23.         private readonly TestEvent testEvent;
  24.         public Test()
  25.         {
  26.             testEvent = new TestEvent(this);
  27.         }
  28.  
  29.         public void Go()
  30.         {
  31.             while (true)
  32.             {
  33.                 testEvent.OnProcent();
  34.             }
  35.         }
  36.  
  37.         public void Procent(double Procent)
  38.         {
  39.             throw new NotImplementedException();
  40.         }
  41.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы