Көпағындық программалауды қолдау. Үрдістерді басқару. Жадының ұйымдастырылуы



бет2/3
Дата01.02.2023
өлшемі60.27 Kb.
#469009
түріПрограмма
1   2   3
Лекция 2 (2)

Көпағындық өңдеу

  • Көпағынды өңдеудің басты артықшылығы: программа жұмысы барысындағы бос тұру уақытын тиімді пайдалану.
  • Ағын күйлері:

  • атқарылып жатқан ағым;
  • орындалуға әзір – орталық процессор уақыты мен ресурстарын күтуде;
  • тоқтатылған – уақытша атқарылмайтын;
  • қайта жалғастырылған;
  • бұғатталған – өзінің орындалуы үшін ресурстар күтуде;
  • аяқталған – жұмысының орындалуы аяқталды және қайта жалғастырылуы мүмкін емес.

Көпағындық өңдеу

  • .NET Framework ортасында ағынның екі түрі анықталған: басымдылықты (келісім бойынша) және фондық. Фондық ағынның процесіндегі барлық басымдылықты ағындар тоқтатылған болса, фондық ағын да автоматты түрде аяқталады.
  • Барлық процестердің құрамында кемінде бір ағын болады, ол негізгі деп аталады. Программаның орындалуы осы ағыннан басталады. Негізгі ағыннан басқа ағындарды құруға болады.
  • Көпағындық программалауды қолдайтын кластар System.Threading атаулар кеңістігінде анықталған.
  • using System.Threading;

Thread класы

  • Көпағынды өңдеу жүйесі орындау Thread класына негізделеді, бұл класс атқару ағынын инкапсулациялайды. Бұл класты мұралау мүмкіндігі жоқ. Класс құрамында ағындарды басқаруға арналған әдістер мен қасиеттер анықталған.
  • Ағынды құру үшін Thread типті объектінің экземплярын алу жеткілікті. Thread класы конструкторының формасы:
  • public Thread (ThreadStart іске_қосу)
  • мұнда іске_қосу - ағынды атқаруды бастау мақсатында шақырылатын әдістің аты, ал ThreadStart - .NET Framework ортасында анықталған делегат.
  • public delegate void ThreadStart()

Thread класы (мысал 1)

  • Жаңадан құрылған ағынның атқарылуы оның Start() әдісі шақырылғанға дейін басталмайды. Start() әдісі Thread класында анықталған. Бұл әдісті жариялаудың 2 формасы бар.
  • public void Start()
  • Атқарылып бастаған ағын іске_қосу арқылы көрсетілген әдістен қайту орындалғанша жалғасады. Атқарылуы басталып қойған ағынға Start() әдісін шақыруға тырыссаңыз, ThreadStateException аластамасы туындайды.


Достарыңызбен бөлісу:
1   2   3




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет