Цитата:от:0x7777
Бред сивой кобылы. У потоков есть приоритет. У основного потока он, как правило THREAD_PRIORITY_NORMAL, когда вы создаёте новый поток - вы можете запустить его с более высоким приоритетом, а у основного - вы можете понизить приоритет.
Читайте http://msdn2.microsoft.com/en-us/library/ms685100.aspxПодробнее
Пожалуйста, возьмите за правило предполагать, что Ваш собеседник все же вменяем, прежде чем употреблять слова типа бред.
Я говорил об этом: The thread pool has a default limit of 25 threads per available processor, which could be changed using CorSetMaxThreads as defined in the mscoree.h file. Each thread uses the default stack size and runs at the default priority. http://msdn2.microsoft.com/en-us/library/system.threading.threadpool(VS.71).aspx
Не дунаю, что конвертор писАли под Win32, запуская потоки вручную и назначая им приоритеты.
Цитата:от: 0x7777
Бессмысленно. Для задач типа обработки графики (а не обслуживания тысячи клиентов WEB сервера) делать кол-во рабочих потоков больше кол-ва ядер нет смысла.
Откуда программер знает, сколько ядер у машины юзера? Зато он знает задачу. Например, конвертирование каждого файла я бы оформил отдельным потоком, а внутри него, чтение файла с диска сделал бы в новом потоке, расчеты в другом - можно подумать как их распаралеллить, там наверняка БПФ. Для записи на диск - тоже лучше запустить отдельный поток. В результате можно было бы считывать, обрабатывать и сбрасывать результат по кускам. И тогда появится смысл. И 100 картинок за раз сконвертятся быстрее чем 100 раз одна.