Я создаю консольный решатель судоку, основной целью которого является скорость.
Теперь у меня есть ManagerThread, который запускает WorkerThreads для вычисления соседей каждой ячейки. Итак, прямо сейчас для каждой ячейки запускается один WorkerThread. Как я могу повторно использовать существующий поток, который завершил свою работу?
Шаблон пула потоков кажется решением, но я не понимаю, что делать, чтобы предотвратить смерть потока после завершения его работы.
PS: я не ожидаю увеличения производительности для этой конкретной задачи, просто хочу поэкспериментировать с тем, как работает многопоточность, прежде чем применять ее к более сложным частям кода.
Спасибо