С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
SKS-65
5 / 5 / 1
Регистрация: 18.10.2011
Сообщений: 187
#1

Приоритеты потоков - C++

16.11.2014, 18:30. Просмотров 431. Ответов 4
Метки нет (Все метки)

Здравствуйте, пишу две программы, в одной из которых обработка данных просто делится на потоки, а в другой я ещё придаю потокам более высокий приоритет, но проблема в том, что время выполнения от этого не меняется. Не могу понять в чём проблема, что делаю не так. Приоритеты я изменяю вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
.......
for (int i = 1; i < argc; i++)
    {
 
        // Создание потока для выполнения функции обработки файла
        hThread[i-1] = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadProc, argv[i], 0, &IDThread[i-1]);       
 
    }
 
    if (!(SetThreadPriority(hThread[0], THREAD_PRIORITY_HIGHEST))) cout << "Fail 1\n";
    if (!(SetThreadPriority(hThread[1], THREAD_PRIORITY_ABOVE_NORMAL))) cout << "Fail 2\n";
    if (!(SetThreadPriority(hThread[2], THREAD_PRIORITY_HIGHEST))) cout << "Fail 3\n";
    if (!(SetThreadPriority(hThread[3], THREAD_PRIORITY_TIME_CRITICAL))) cout << "Fail 4\n";
    WaitForMultipleObjects (argc - 1, hThread, TRUE, INFINITE);
.......
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2014, 18:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Приоритеты потоков (C++):

Приоритеты операций - C++
Доброго времени суток! Я недавно начал изучать С++. Читаю книгу &quot;Липпман. С++ для начинающих&quot;. И в ней на странице 178 есть таблица с...

Создание потоков - C++
Всем доброго времени суток. Как всегда, последняя надежда на этот сайт. Сразу к делу: Написать программу, которая принимает в качестве...

C++ MPI выделение потоков - C++
Здравствуйте, я к вам с немного нубским вопросом. Написал вот такой код: #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;ctime&gt; ...

Контроль звуковых потоков - C++
Всем привет,не знал,где разместить тему,т.к вроде тема не для новичков,но на эксперта не тянет. Проблема следующая,необходимо получить...

Самопроизвольное завершение потоков - C++
Здравствуйте, делаю многопоточное приложение, пробовал использовать бустовские потоки и std потоки, но в обоих происходит завершение...

Использование данных из разных потоков - C++
Привет всем! Возникла проблема с использованием данных из разных потоков в многопоточном приложении 1) Допустим созданы два...

4
VTsaregorodtsev
374 / 357 / 53
Регистрация: 19.02.2010
Сообщений: 1,515
16.11.2014, 21:19 #2
А почему оно должно меняться? Независимо от приоритета потока - код выполняемой потоком=процессором программы остаётся же тем же самым.
0
SKS-65
5 / 5 / 1
Регистрация: 18.10.2011
Сообщений: 187
16.11.2014, 21:56  [ТС] #3
VTsaregorodtsev, выше приоритет значит уделяется больше процессорного времени, точнее чаще, то есть выполнится быстрее из за того что процессор чаще обрабатывает эти потоки
0
VTsaregorodtsev
374 / 357 / 53
Регистрация: 19.02.2010
Сообщений: 1,515
16.11.2014, 22:01 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ну так если нет никаких других (конкурирующих) потоков на исполнение - проц и будет гонять только Ваш.

Но в любом случае затраченное процессорное время (выводимое в виндовозовском Диспетчере задач) будет одно и то же, независимо от приоритета потока и/или процесса.
0
SKS-65
5 / 5 / 1
Регистрация: 18.10.2011
Сообщений: 187
16.11.2014, 22:09  [ТС] #5
VTsaregorodtsev, понятно что время выполнения будет одинаковое, но при более низком приоритете потоки дольше в очереди стоят, а насчёт конкурирующих потоков есть же другие программы, которые обрабатываются процессором
0
16.11.2014, 22:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2014, 22:09
Привет! Вот еще темы с ответами:

Причины последовательной работы потоков? - C++
имею gcc 4.8 Следующий код: Имею такие глобальные переменные int thread_started_count = 0; // счетчик-барьер кол-ва...

приоритеты. - C++ Builder
Здраствуйте. Столкнулся вот с какой проблемой. Добавляю на форму компонент &quot;Panel: TPanel&quot;. Сверху ставлю BitBtn'ы, Edit'ы, но они...

Создание и завершение процессов и потоков. Приоритеты выполнения потоков - C++
Здравствуйте. Буду очень раз если поможете понять,что конкретно нужно сделать в вот этом задании,пока особого представления о...

Приоритеты потоков - C#
Здравствуйте, не ругайте сильно за корявый код, я с другого языка (там просто нет приоритетов), нет необходимой базы по ООП для C# и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.