I had a questions, I used to work with c# (background workers) async/await to finish different tasks.
now im coding some c++ clients , while the server is still c#, i wanna know
if a client is doing 5-7 different tasks or processes. do I need
to use threads for each tasks?
I mean for example sharing files between client server, and at the same time doing somthing else, like sharing the screen, or resetting the network to gain new dhcp ip .
you probably need to thread at least some of that. screen share is intense, even with compression its a lot of data at a high rate of transfer. You can take a page from mpeg and only send the changed pixels in a sparse format, but even that is a bit of work. I would have at least the screen share in its own thread, and the others depend on how much work they do whether you want to thread it or not. Too many threads can be an issue, so I would do a case-by-case to decide based off the work being done.