Экономия: пример использования TThreadPoolServer - PullRequest
1 голос
/ 20 апреля 2020

Я пытаюсь портировать приложение, которое использует TThreadedServer для использования TThreadPoolServer. В настоящее время я использую класс следующим образом:

TThreadPoolServer server(
      processor),
      server_transport,
      transport_factory,
      protocol_factory);

  server.serve()

Когда клиент пытается подключиться, я получаю следующее исключение:

завершение вызова после выброса экземпляра 'apache :: thrift :: concurrency :: IllegalStateException 'what (): ThreadManager :: Impl :: add ThreadManager не запущен

Я вижу, что в конструкторе * 1013 создается экземпляр ThreadManager * здесь . Если объект ThreadManager должен быть передан в конструктор TThreadPoolServer, я не уверен, почему конструктор создает объект ThreadManager. Я попытался создать объект ThreadManger и вызвать метод start(), как указано здесь , но PosixThreadFactory больше не является частью структуры Thrift. Должен ли я реализовать абстрактный класс ThreadFactory? Можете ли вы помочь мне выяснить это, предоставив образец использования?

...