6-Amaliy mashg’ulot Mavzu: ot samaradorligi monitoringi



Download 0,72 Mb.
Pdf ko'rish
bet3/6
Sana30.05.2023
Hajmi0,72 Mb.
#946321
1   2   3   4   5   6
Bog'liq
6-10 operatsion tizim

7-Amaliy mashg’ulot. 
Mavzu: OTda ko’p protsessorli simmetrik qayta ishlash 
Ishdan maqsad:
Simmetrik ko'p protsessor tizimlarini ishlash prinsiplarini o`rganish 
 
 


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: 
 


Agar siz ro'yxatga olish bayonotlarini ko'rib chiqsangiz, asosiy bo'lim mavzuni yaratish va 
boshlashni ko'rishingiz mumkin: 
 
Mavzuni yaratganingizda, siz unga funktsiyani va ushbu funktsiyaga argumentlarni o'z 
ichiga olgan ro'yxatni o'tkazasiz. Bunday holda, siz Thread-ga thread_function() ni ishga 
tushirishni va uni argument sifatida 1 ni berishni aytasiz. 
Siz mavzular uchun nom sifatida ketma-ket butun sonlardan foydalanasiz. Har bir mavzu 
uchun noyob nomni qaytaradigan threading.get_ident() mavjud, lekin ular odatda qisqa va oson 
o'qilishi mumkin emas. 
thread_function() ning o'zi ko'p ish qilmaydi. U shunchaki ba'zi xabarlarni ular orasida 
time.sleep() bilan qayd qiladi. 
Ushbu dasturni avvalgidek ishga tushirganingizda (yigirmanchi qator izohlangan holda), 
natija quyidagicha ko'rinadi: 

Download 0,72 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish