Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
SKS-65
5 / 5 / 1
Регистрация: 18.10.2011
Сообщений: 187
16.11.2014, 18:30     Приоритеты потоков #1
Здравствуйте, пишу две программы, в одной из которых обработка данных просто делится на потоки, а в другой я ещё придаю потокам более высокий приоритет, но проблема в том, что время выполнения от этого не меняется. Не могу понять в чём проблема, что делаю не так. Приоритеты я изменяю вот так:
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);
.......
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2014, 18:30     Приоритеты потоков
Посмотрите здесь:

Приоритеты операций C++
C++ приоритеты операций
приоритеты. C++ Builder
Расставить приоритеты операций и вычислить значение заданного выражения (Помогите с задачей) C++
C++ Семафоры(7 потоков)
C++ Приоритеты вложенных циклов
C++ WinAPI Запуск потоков
C++ Исключения потоков
Приоритеты выполнения перегрузок операций C++
C++ Стек и приоритеты
C++ Синхронизация потоков в c++
приоритеты операций C++

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

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

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

Текущее время: 05:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru