Quelle est la différence entre boost :: io_service poll_one et run_one?

io_service :: poll_one Exécutez la boucle de traitement des événements de l’object io_service pour exécuter un gestionnaire prêt.

contre

io_service :: run_one Exécutez la boucle de traitement des événements de l’object io_service pour exécuter au plus un gestionnaire.

D’après cette explication, il semblerait que poll_one puisse exécuter plus d’un gestionnaire? Est-ce que run_one ou poll_one utilise un thread appelé run () ou uniquement celui qui appelle poll_one / run_one?

La documentation pour ASIO est très rare.

poll_one retournera immédiatement (non bloquant) s’il n’y a pas d’événement à traiter.

run_one bloquera le thread appelant jusqu’à ce qu’un événement soit prêt à être traité.

Vous pouvez également consulter certains documents ici