как использовать WaitOne () и set () для одновременного запуска двух функций, принадлежащих разным классам - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть две функции, принадлежащие двум разным классам, которые работают параллельно с использованием потоков. Класс I имеет метод userOperation(), класс II имеет метод Register(). Обе функции имеют время l oop и работают непрерывно. Я хочу, чтобы всякий раз, когда Register() достигал определенной точки, он вызывал поток в userOperation(), который выполнялся до определенной точки и спал из-за команды WaitOne() и снова пробуждается Resister(), когда он вызывает команду set().

класс I:

void userOperation()
{
   private ManualResetEvent _operationThread = new ManualResetEvent(false);
   while(true)
  {
     //does something....
    ....
    ...
    _operationThread.WaitOne()
  }
}

класс II:

void Register()
{
   private ManualResetEvent _operationThread = new ManualResetEvent(false);
   while(true)
  {
     //does something....
    ....
    ...
    _operationThread.set();
   ....
   ....
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...