|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.10.2012, 10:58 | #1 |
Новичок
Джуниор
Регистрация: 05.10.2012
Сообщений: 2
|
Потоки
всем привет) помогите плиз.
Проблема в следующем: есть программа в которой создано несколько потоков каждый выполняет свою определенную функцию. так например- 1 поток. считывает имена файлов с диска-передает во второй в очереди 2 поток. считывает очередь с именами файлов, считывает их с диска и преобразует их определенным образом (ну скажем выполняет преобразование X) и передает файлы(массив байт) в очередь следующему потоку. 3 поток. считывает файлы с очереди и выполняет преобразование Y-более сложное и длительное чем X и передает следующему потоку 4 поток. считывает файлы с очереди и записывает преобразованные файлы на диск. При этом каждый поток 1,2,3,4-используют отдельные dll при работе программы на 8 ядерной тачке общая загрузка проца 15 процентов!!! скорость работы программы меня не устраивает! когда добавляю еще потоков(5 штук) типа 3 потока которые выполняют преобразование Y (перед этим 2 поток равномерно раскидывает файлы на все 5 потоков 3 типа) скорость работы программы не увеличивается!! в среднем количество обработанных файлов одинаковое что для 1 потока 3 вида что для 2х или 5... при этом проц все также на 15 процентах-не более!!!! примерная схема работы на рисунке))) Вопрос: почему не получается прирост производительности??? Вопрос: как можно сделать так чтобы проц загружался прогой на максимум????? |
05.10.2012, 11:51 | #2 |
Форумчанин
Регистрация: 15.12.2010
Сообщений: 398
|
ОС 32 или 64 битная ? И какую сборку делаешь под х86, 64 или AnyCPU
|
05.10.2012, 15:37 | #3 |
Форумчанин
Регистрация: 17.12.2008
Сообщений: 250
|
попробуйте
Код:
http://pinvoke.net/default.aspx/kern...dPriority.html можно поставить THREAD_PRIORITY_TIME_CRITICAL Последний раз редактировалось Reskov; 05.10.2012 в 15:41. |
05.10.2012, 16:17 | #4 |
Новичок
Джуниор
Регистрация: 05.10.2012
Сообщений: 2
|
ОС на которой пишу 32 битная и для которой пишу 64-битная. А вот сборка не помню...хорошая мысль) завтра же посмотрю) с приоритетом тоже попробую . спасибо.- завтра напишу что получилось!)
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Потоки | Базиля | Общие вопросы Delphi | 11 | 10.08.2012 15:50 |
[C#] Потоки | Lemo | C# (си шарп) | 2 | 24.05.2011 21:50 |
Потоки. | FieStik | Общие вопросы C/C++ | 4 | 23.05.2011 14:12 |
Потоки | RedScreenOfLife | Общие вопросы C/C++ | 5 | 07.03.2011 14:30 |
потоки | Cpluser | Общие вопросы .NET | 5 | 15.02.2011 22:17 |