Т.е. например возьмем за основу приложением многопоточный сервер. Допустим он обслуживает очень много соединений, ну пусть максимум 1000. Чтобы не создавать для каждого нового клиента отдельный поток, я бы например хотел создать 5 потоков, каждый из которых обслуживал по 200 клиентов.
Так идем дальше. При подключении нового клиента я создаю для него новый поток и потом этот поток методом MoveToThread перемещаю в один из тех 5 потоков, правильно я мыслю?
Вы же хотели не создавать потоков для каждого подключения:)
Я бы сделал проще. Допустим в вашем пуле 5 рабочих потоков и 1 главный, принимающий входящие соединения. Каждый из потоков я бы связал сигналом с событием входящего соединения. И просто дергал бы эти сигналы с параметрами. А обрабатываться они будут в рабочих потоках. Тут только нужно как то распределить нагрузку между потоками, но это думаю, не сложно.