Destructor notifies
the io_context
that the work is complete.
~work();
The destructor is used to inform the io_context
that some work has
finished. Once the count of unfinished work reaches zero, the io_context
object's run()
function is permitted to exit.