Page 60 - 4657
P. 60

ЛЕКЦІЯ 5.
               ПРОЦЕСИ І СИНХРОНІЗАЦІЯ


           Рівнобіжне  програмування,  зв'язане  з  використанням
       легковагих процесів, чи підпроцесів (multithreading, light-weight
       processes)  -  концептуальна  парадигма,  у  якій  розділяється
       програма на два чи кілька процесів, що можуть виповнюватися
       одночасно.
           У  багатьох  середовищах  рівне  виконання  завдань
       представлене  в  тому  виді,  що  в  операційних  системах,
       називається  полізадачністю.  Це  зовсім  не  те  ж  саме,  що  рівне
       виконання  підпроцесів.  У  полізадачних  операційних  системах
       ви маєте справу з повновагими процесами, у системах з рівним
       виконанням     підпроцесів     окремі    завдання     називаються
       легковагими процесами (light-weight processes, threads).


            Цикл обробки подій у випадку єдиного
            підпроцесу

           У  системах  без  рівнобіжних  підпроцесів  використовується
       підхід,  називаний  циклом  обробки  подій.  У  цій  моделі єдиний
       підпроцес  виконує  нескінченний  цикл,  перевіряючи  й
       обробляючи  виникаючі  події.  Синхронізація  між  різними
       частинами  програми  відбувається  в  єдиному  циклі  обробки
       подій.  Такі  середовища  називають  синхронними  керованими
       подіями  системами.  Apple  Macintosh,  Microsoft  Windows,
       X11/Motif  -  усі  ці  середовища  побудовані  на  моделі  з  циклом
       обробки подій.
           Якщо  ви  можете  розділити  свою  задачу  на  незалежно
       виконуються підпроцеси і можете автоматично переключатися з
       одного підпроцеса, що чекає настання події, на інший, котрому є
       чим  зайнятися,  за  той  же  проміжок  часу  ви  виконаєте  більше
       роботи. Імовірність того, що більше чим одному з підпроцесів
       одночасно надовго буде потрібно процесор, мала.
           Модель легковагих процесів у Java

       58
   55   56   57   58   59   60   61   62   63   64   65