Sardorjon Abduqahhorov " Operatsion tizimlar "
Agar siz ro'yxatga olish bayonotlarini ko'rib chiqsangiz, asosiy bo'lim mavzuni yaratish va boshlashni ko'rishingiz mumkin
Download 86.6 Kb. Pdf ko'rish
|
6-10-lab
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: Ko'p threadlar bilan ishlash Misol kodi hozirgacha faqat ikkita thread bilan ishlagan: asosiy thread va siz thread bilan boshlagan. thread ob'ekti. Ko'pincha siz bir nechta mavzularni boshlashni va ularni qiziqarli ishlarni qilishni xohlaysiz. Keling, buni qilishning qiyinroq usulini ko'rib chiqaylik, keyin siz osonroq usulga o'tasiz. Bir nechta mavzularni boshlashning qiyinroq usuli bu siz allaqachon bilgan usul: Ushbu kod yuqorida ko'rgan mexanizmdan ipni boshlash, Thread obyektini yaratish va keyin .start() ga qo'ng'iroq qilish uchun foydalanadi. Dastur Thread ob'ektlari ro'yxatini saqlaydi, shunda u keyinchalik .join() yordamida ularni kutishi mumkin. Ushbu kodni bir necha marta ishlatish qiziqarli natijalarga olib kelishi mumkin. Mana mening mashinamdan olingan misol: Agar siz chiqishni diqqat bilan ko'rib chiqsangiz, uchta ipning hammasi siz kutgan tartibda boshlanganini ko'rasiz, ammo bu holda ular teskari tartibda tugaydi! Bir nechta yugurish turli xil buyurtmalarni keltirib chiqaradi. Mavzularni ishga tushirish tartibi operatsion tizim tomonidan belgilanadi va oldindan aytish juda qiyin bo'lishi mumkin. Bu ishdan yugurishgacha o'zgarishi mumkin (va ehtimol bo'ladi), shuning uchun siz ish zarralarini ishlatadigan algoritmlarni loyihalashda buni bilishingiz kerak. Python sizga iplarni muvofiqlashtirish va ularni birgalikda ishlatishga yordam berish uchun keyinroq ko'rib chiqiladigan bir nechta ibtidoiy elementlarni beradi. Undan oldin, keling, qanday qilib iplar guruhini boshqarishni biroz osonlashtirishni ko'rib chiqaylik. 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