Көпағындық өңдеу - Көпағынды өңдеудің басты артықшылығы: программа жұмысы барысындағы бос тұру уақытын тиімді пайдалану.
Ағын күйлері: - атқарылып жатқан ағым;
- орындалуға әзір – орталық процессор уақыты мен ресурстарын күтуде;
- тоқтатылған – уақытша атқарылмайтын;
- қайта жалғастырылған;
- бұғатталған – өзінің орындалуы үшін ресурстар күтуде;
- аяқталған – жұмысының орындалуы аяқталды және қайта жалғастырылуы мүмкін емес.
Көпағындық өңдеу - .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 аластамасы туындайды.
Достарыңызбен бөлісу: |