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

Измерение времени выполнения потока - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ 2 Конструктора в Классе http://www.cyberforum.ru/cpp-beginners/thread103983.html
Мой класс: class zdanie { int plosh, obm, e; char *adres, *vladelec; public: zdanie(int pl, int ob, char adr, char vlad); zdanie(int el){e=el;}; };
C++ Вычислить значение функции y, развив функцию ln(x) в ряд Тейлора Задача: Вычислить значение функции y, развив функцию ln(x) в ряд Тейлора. Аргумент х изменяется от -1 до 3 с шагом 0.5. Определить погрешность. Y= ln(x)+ln(x/2) 0<x<=2 ln(x/2-1) x>=2 Мой... http://www.cyberforum.ru/cpp-beginners/thread103876.html
C++ С++ базы данных
Я понимаю, что возможно следующие вопросы уже обсуждались на этом форуме, возможно и не раз, но по поиску ничего вразумительного (понятного мне) не нашел (как и в гугле). Поэтому прошу оставить...
C++ Ввести предложение, и вывести самое короткое слово?
Ввести предложение, и вывести самое короткое слово??? Есть отдельная функция, которая удаляет подстроку со строки???
C++ Динамическое выделение памяти new http://www.cyberforum.ru/cpp-beginners/thread103837.html
Доброго времени. У меня в программе есть два двумерных динамических массива. Код компилируется, но возникает ошибка времени выполнения: "Инструкция по адресу "..." обратилась к памяти по адресу...
C++ Найти квадратный корень из суммы всех положительных элементов двухмерного массива помогите очень-очень решить две задачки по массивам 1.Вычислить сумму элементов, больше, чем середнеарифметичне значение всех элементов. 2. Добыть квадратный корень из суммы всех... подробнее

Показать сообщение отдельно
OffyGhost
7 / 7 / 1
Регистрация: 04.03.2010
Сообщений: 107
13.03.2010, 15:15  [ТС]
вводя такие параметры
я получаю кучу баговв формул)
и также 0

Введите нижнюю границу диапазона(натуральное число): 2
Введите верхнюю границу диапазона(натуральное число): 600000000

Число членов: 599999999

Произведение последовательности: 0
Сумма последовательности -11188736

Время выполнение первого потока: 0
Добавлено через 1 минуту
кстате вот кусок кода, выполенный одногруппником

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
int _tmain(void)
{
    setlocale(0, "Russian");
    char* enterDate = new char[SIZE_OF_STRING];
    do
    {
        enterDate = EnterDate();//ввод даты пользователем
    }
    while(!CheckEnterString(enterDate));//проверка корректности введённой даты
 
    bool flag = true;
    int counter = 0;
    do
    {
        HANDLE hMyThread;//создание дескриптора потока
        DWORD dwThreadId;//создание идентификатора потока
 
        // Создаётся поток
        hMyThread = CreateThread(NULL  // нет защиты потока
                                , NULL // размер стека
                                , DateToString // это функция потока
                                , enterDate //указатель на параметр функции потока
                                , CREATE_SUSPENDED // поток не запускается
                                , &dwThreadId // идентификатор потока
                                );
 
        bool printVar;
        if(flag && counter == 0)
        {
            // созданному потоку устанавливается приоритет THREAD_PRIORITY_ABOVE_NORMAL
            SetThreadPriority(hMyThread // дескриптор потока
                             , THREAD_PRIORITY_ABOVE_NORMAL // уровень приоритета
                             );
            ++counter;
            printVar = true;
        }
        else if(flag && counter == 1)
        {
            // созданному потоку устанавливается приоритет THREAD_PRIORITY_LOWEST
            SetThreadPriority(hMyThread // дескриптор потока
                             , THREAD_PRIORITY_LOWEST // уровень приоритета
                             );
            flag = false;
            printVar = false;
        }
 
        // выполнение потока в данном случае вызовом функции возобновления
        ResumeThread(hMyThread);
 
       const int NANOSECOND_BLOCKS_IN_MILLISECOND = 10000;
 
        FILETIME threadStart; // начало работы потока
        FILETIME threadEnd; // окончание работы потока
        FILETIME dummy; // неиспользуемое значение
   // Ожидание завершения потока
        WaitForSingleObject(hMyThread, INFINITE);
        GetThreadTimes(hMyThread
                      , &threadStart
                      , &threadEnd
                      , &dummy
                      , &dummy
                      );
 
 
     
 
        // результаты вызова потока
        DWORD rezultString;
        DWORD rezultStringSecond;
 
        // Получение результата работы функции потока
        GetExitCodeThread(hMyThread, &rezultString);
 
        // Запросы на уничтожение объекта-потока
        CloseHandle(hMyThread);
 
 
        __int64 qwStartTime;
        __int64 qwFinishTime;
        __int64 qwTotalTimeElapsed;
        qwStartTime = FileTimeToQuadWord(&threadStart);
        qwFinishTime = FileTimeToQuadWord(&threadEnd);
        qwTotalTimeElapsed = qwFinishTime - qwStartTime;
 
        if(flag && printVar)
        {
            printf("\nqwStartTime %d\n\n"
                  , qwStartTime /10000
                  );
printf("\nqwFinishTime %d \n\n"
                  , qwFinishTime /10000
                  );
            printf("\nВремя работы потока с приорететом 'THREAD_PRIORITY_ABOVE_NORMAL' %d милисекунд.\n\n"
                  , qwTotalTimeElapsed / 10000
                  );
 
            printVar = false;
        }
        else if(!flag && !printVar)
        {
            printf("\nВремя работы потока с приорететом 'THREAD_PRIORITY_LOWEST' %d милисекунд.\n\n"
                  , qwTotalTimeElapsed / 10000
                  );
        }
 
        printf("Дата прописью: %sгода\n\n", rezultString);
    }
    while(flag);
 
    system("pause");
    return NULL;
}
Его не стал брать, так как он какойто непонятный)
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru