Sardorjon Abduqahhorov " Operatsion tizimlar "


Download 86.6 Kb.
Pdf ko'rish
bet4/11
Sana18.06.2023
Hajmi86.6 Kb.
#1562857
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
6-10-lab

7-Amaliy mashg’ulot. 
Mavzu: OTda ko’p protsessorli simmetrik qayta ishlash 
Ishdan maqsad: Simmetrik ko'p protsessor tizimlarini ishlash prinsiplarini o`rganish 
Nazariy qism 
 
 
Thread - bu alohida bajarilish oqimi. Bu sizning dasturingizda bir vaqtning o'zida ikkita 
narsa sodir bo'lishini anglatadi. Ammo ko'pchilik Python 3 ilovalari uchun turli xil iplar bir 
vaqtning o'zida bajarilmaydi: ular shunchaki ko'rinadi. 
Dasturingizda ikkita (yoki undan ko'p) turli protsessorlar ishlaydi, ularning har biri bir 
vaqtning o'zida mustaqil vazifani bajaradi deb o'ylash jozibali. Bu deyarli to'g'ri. Mavzular turli 
protsessorlarda ishlayotgan bo'lishi mumkin, lekin ular bir vaqtning o'zida faqat bitta ishlaydi. 
Bir vaqtning o'zida bir nechta vazifalarni bajarish uchun Python-ning nostandart amalga 
oshirilishi, ba'zi kodlaringizni boshqa tilda yozish yoki qo'shimcha xarajatlar bilan birga keladigan 
ko'p ishlov berishdan foydalanish kerak. 
Python-ning CPython-ni qo'llash usuli tufayli, iplarni ulash barcha vazifalarni 
tezlashtirmasligi mumkin. Bu GIL bilan o'zaro aloqalar bilan bog'liq bo'lib, u bir vaqtning o'zida 
bitta Python ipini ishlatishni cheklaydi. 
Ko'p vaqtini tashqi hodisalarni kutishga sarflaydigan vazifalar, odatda, iplarni o'tkazish 
uchun yaxshi nomzodlardir. Og'ir protsessor hisoblashni talab qiladigan va tashqi hodisalarni 
kutish uchun oz vaqt sarflaydigan muammolar umuman tez ishlamasligi mumkin. 
Bu Python-da yozilgan va standart CPython ilovasida ishlaydigan kod uchun amal qiladi. 
Agar sizning mavzularingiz C tilida yozilgan bo'lsa, ular GILni chiqarish va bir vaqtning o'zida 
ishlash imkoniyatiga ega. Agar siz boshqa Python ilovasida ishlayotgan bo'lsangiz, uning iplarni 
qanday ishlashini ko'rish uchun hujjatlar bilan tekshiring. 
Agar siz standart Python ilovasini ishlatayotgan bo'lsangiz, faqat Python-da yozsangiz va 
protsessor bilan bog'liq muammo bo'lsa, uning o'rniga multiprocessing modulini tekshirishingiz 
kerak. 
O'zingizning dasturingizni Threadlardan foydalanish uchun arxitektura qilish, shuningdek, 
dizayn ravshanligini oshirishi mumkin. Ushbu qo'llanmada siz o'rganadigan misollarning 
aksariyati tezroq ishlashi shart emas, chunki ular threadlardan foydalanadi. Ulardagi threadlardan 
foydalanish dizaynni yanada toza va mulohaza yuritishni osonlashtiradi. 
 
Mavzuni boshlash 
Endi siz thread nima ekanligi haqida tasavvurga ega bo'lganingizdan so'ng, keling, uni 
qanday yasashni o'rganamiz. Python standart kutubxonasi ushbu maqolada ko'rishingiz mumkin 


bo'lgan ko'pgina ibtidoiy elementlarni o'z ichiga olgan ish zarralarini taqdim etadi. Thread, ushbu 
modulda iplarni chiroyli tarzda qamrab oladi va ular bilan ishlash uchun toza interfeysni 
ta'minlaydi. 
Alohida mavzuni boshlash uchun siz Thread misolini yaratasiz va keyin uni .start() ga aytasiz: 

Download 86.6 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling