Page 68 - 4989
P. 68

Продовження таблиці 7.1

             14.  Знайти максимум у масиві цілих чисел довжиною 10000000
                   відліків,  використовуючи  кілька  потоків  для  пошуку.
                   Кожних 500мс виводити поточне значення максимуму.

             15.  Масив  містить  1000000  цілочислених  значень.  Необхідно
                   реалізувати          нормування:           перший          потік        повинен
                   обчислювати  максимальні  значення  фрагментів  сигналу
                   довжиною  10000  відліків,  а  другий  -  нормувати  відліки  за

                   формулою




                   де  k  –  номер  інтервала,  до  якого  належить  y ,  Ymax(k)  –
                                                                                     i
                   максимум на цьому інтервалі.


                                 7.3  Основні теоретичні відомості


                  7.3.1  Процеси і потоки в ОС Windows

                  Однією  з  основних  функцій  операційної  системи  є
            управління  процесами.  Процес  –  це  сукупність  коду,  що

            виконується при роботі деякої програми, та системних ресурсів,
            які ним використовуються.
                  Одиницею виконання в ОС Windows є потік (thread). Кожен
            процес  містить  основний  потік  виконання,  що  створюється  ОС

            при  створенні  процесу,  а  також  може  містити  додаткові  потоки
            виконання,  які  можуть  бути  створені  під  час  виконання

            основного  потоку.  Будь-який  потік  може  також  створити  новий
            процес, вказавши в якості аргументу значення командного рядка
            для запуску деякої програми.
                  Новий потік можна створити функцією


            HANDLE WINAPI CreateThread(
              _In_opt_  LPSECURITY_ATTRIBUTES  lpThreadAttributes,
              _In_      SIZE_T                 dwStackSize,
              _In_      LPTHREAD_START_ROUTINE lpStartAddress,
              _In_opt_  LPVOID                 lpParameter,
              _In_      DWORD                  dwCreationFlags,
              _Out_opt_ LPDWORD                lpThreadId
            );
                  Параметри,  позначені  як  _In_opt_ (необов’язковий  вхідний


                                                           68
   63   64   65   66   67   68   69   70   71   72   73