lundi 27 février 2023

std::unorder_map erase function getting blocked in multithreaded setup

In my application i am preparing the unordermap of request objects and using this through the session, i suppose to erase map entry when request processing is completed and send the response to client. i am using multithreading in application, when the request is processed and application has to send response to client, the code will erase the request object from map but unfortunately the erase() is getting hanged indefinitely.

I want to understand reason behind the erase() getting blocked in multithreaded environment. I have used boost::shared_mutex around this map in critical section of the code.

Aucun commentaire:

Enregistrer un commentaire