Sardorjon Abduqahhorov " Operatsion tizimlar "
Download 86.6 Kb. Pdf ko'rish
|
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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling