Моя второстепенная тема прослушивает кролика канала и хочет удалить ее из основного потока, когда я вызываю метод stopListen().C++ Убить ожидания std :: thread
void PFClient::startListen()
{
this->stop = false;
this-> t = thread(&PFClient::callback,this);
}
void PFClient::callback()
{
PFAPIResponse* response;
char * temp;
while (!this->stop)
{
try
{
std::string receiver_data = "";
//std::wcout << L"[Callback] oczekiwanie na wiadomość !" << endl;
receiver_data = this->channel->BasicConsumeMessage()->Message()->Body();
temp = &receiver_data[0];
... some operation with received data
void PFClient::stopListen()
{
this->stop = true;
}
Семафор работает неправильно, потому что он будет работать только после следующего полученного сообщения. Я пытаюсь отсоединить(), завершить(), но не работает. Как я могу жестоко убить этот процесс?
Вы действительно должны избегать его убить (утечки ресурсов и т.д.) – deviantfan
Можете ли вы использовать в * NO- блокировка * получать функция? У каждой приличной библиотеки должна быть функция * block_for * –
@deviantfan Я знаю, но если я хочу, как я могу это сделать? – Jakooop