Если ваше приложение уже правильно создано, вам не нужно ничего делать. Выполнение контекста потока и его обработка для вас.
Теперь, когда дело доходит до многопоточности, ваше приложение ориентировано на использование ядер? Есть ли у вас процессорные задачи, разделенные на отдельные потоки. Если нет, то вам нужно будет внести изменения, чтобы разделить задачи обработки на большее количество потоков. Вы можете использовать Environment.ProcessorCount, чтобы получить количество ядер и создать столько потоков, сколько необходимо во время выполнения для ваших задач.
На данный момент нет никакого способа превратить неправильно потоковое приложение (однопоточное) в многопоточное приложение, использующее преимущества всех процессоров / ядер, если вы не посмотрите на будущие технологии, такие как plinq и Параллельный FX