in reply to choosing threads

Threads are not most efficient way to do parallel IO. I'd used something like Event for such task.

Update: thought actually I've looked at Coro and it seems it can make the thing.