У меня есть задача, которую нужно запустить в другом потоке, который будет читать с диска. Что было бы более эффективным с точки зрения циклов процессора и чтения с диска? Какой будет наиболее отзывчивым / быстрым?
1.) Создайте поток, который ожидает условной переменной, чтобы разбудить поток и запустить задачу.
2.) Запустите пул потоков, занятых ожиданием, и просто возьмите поток из пула, когда нам нужно запустить задачу.
"занято ожиданием" ... зачем вы это делаете?





Учитывая, что поток будет выполнять ввод-вывод, все время будет потрачено на ввод-вывод, и в значительной степени несущественно, какой метод вы используете, чтобы получить поток, который может выполнять эту работу. Что вы будете делать, если у вас закончатся потоки в пуле?