Mavzu: Python dasturlash tilida oqimlar bilan ishlash.
Ishdan maqsad: Python dasturlash tilida oqimlar bilan ishlash.
Nazariy qism Ushbu taqdimotda siz ipning haqiqiy rasmiy ta'rifi bilan bir qatorda Python-dan ajratish moduli bilan tanishasiz. ... Biz Python dasturida iplar bilan ishlashning bir qator usullarini ko'rib chiqamiz, shu qatorda yangi satrlarni yaratish, mavzularni sinxronizatsiya qilish va ko'p satrli ustuvor navbatlar bilan ishlash va aniq misollar bilan ishlash. Shuningdek, biz iplarni sinxronlashtirishda blokirovkalashning asosiy kontseptsiyasini muhokama qilamiz va iplarni sinxronlashtirishning afzalliklarini yaxshiroq tushunish uchun qandaydir ko'p tarmoqli blokirovka dasturini amalga oshiramiz.
Ushbu taqdimotda quyidagi mavzular muhokama qilinadi:
Kompyuter fanida qo'shma ishlov berishni dasturlashning muhokama qilingan kontekstidagi oqimning haqiqiy kontseptsiyasi
Python-da ishlov berish modulining asosiy API-si
Tarmoq moduli yordamida yangi ipni qanday yaratish kerak
Blokirovka tushunchasi va iplarni sinxronlashtirish uchun turli xil blokirovkalash mexanizmlarini qanday qo'llash kerak
Birgalikda ishlov berish dasturlash sharoitida navbatning asosiy tushunchasi va Python-dagi navbat ob'ektlari bilan ishlash uchun navbat modulidan qanday foydalanish muhokama qilindi.
Texnik talablar Ushbu mavzu uchun zaruriy shartlar ro'yxati:
Python 3 allaqachon kompyuteringizda o'rnatilganligiga ishonch hosil qiling
GitHub-dan kerakli omborni tekshiring
Ushbu bob davomida biz Chapter03 deb nomlangan pastki papka bilan ishlaymiz
Harakatdagi quyidagi videolarni tekshiring
Oqim tushunchasi Informatika sohasida ma'lum bir ijro etilishi - bu rejalashtiruvchi (odatda operatsion tizimning bir qismi sifatida) qayta ishlashi va boshqarishi mumkin bo'lgan dasturiy ko'rsatmalarning (kodning) eng kichik elementi. Mavzular va jarayonlarni amalga oshirish (biz keyingi bobda muhokama qilamiz) operatsion tizimga qarab farq qiladi, lekin ish zarrachasi odatda jarayonning elementi (komponenti) hisoblanadi.
Bitta jarayonni bir xil jarayonda amalga oshirish mumkin, ehtimol ular birgalikda bajarilishi va bir xil manbalarga kirish / bo'lishish. Xuddi shu jarayondagi mavzular barcha keyingi ko'rsatmalarni (ularning kodlari) va kontekstni (har qanday vaqtda o'zgaruvchilar tomonidan havola qilinadigan qiymatlar) baham ko'radi.
Ikkalasining asosiy asosiy farqi shundaki, ip odatda jarayonning tarkibiy qismidir. Shunday qilib, bitta jarayon bir vaqtning o'zida ishlashi mumkin bo'lgan juda ko'p iplarni o'z ichiga olishi mumkin. Tarmoqlar, odatda, xotira va ma'lumotlar kabi resurslarni bo'lishishga imkon beradi, jarayonlar esa kamdan-kam hollarda. Muxtasar qilib aytganda, ip - bu hisob-kitoblarning mustaqil tarkibiy qismidir, bu jarayonga o'xshaydi, ammo jarayonning ichida ipning o'zi manzil maydonini va shu bilan bunday jarayonning haqiqiy ma'lumotlarini baham ko'rishi mumkin:
To'xtatilgan ommaviy qayta ishlash tizimi bo'lgan OS / 360 multiprogrammalashtirishda o'zgaruvchan sonli vazifalar uchun iplardan foydalanish to'g'risida birinchi eslatma IBM tomonidan ishlab chiqilganidan keyin 1967 yilda boshlangan. O'sha paytda ishlab chiquvchilar iplarni vazifalar deb atashgan va ip atamasi keyinchalik mashhur bo'lib, Kembrijdagi Raqamli tadqiqot laboratoriyasining asoschisi bo'lgan matematik va hisoblash bo'yicha olim Viktor A. Vysotskiyga tegishli.
Informatika fanida bitta yo'nalish ma'lum bir vaqtning o'zida bitta buyruqni bajaradigan an'anaviy ketma-ket ishlov berishga o'xshaydi. Boshqa tomondan, multithreading alohida jarayonda va bir vaqtning o'zida bajariladigan bir nechta mavzularni amalga oshiradi. Bir nechta mavzularga umumiy resurslarga / kontekstlarga kirishga va mustaqil ravishda bajarishga ruxsat berish orqali ushbu uslub dasturlarga mustaqil vazifalarini tezlashtirishga yordam beradi.
Dastlabki o'qishga ikki yo'l bilan erishish mumkin. Bitta protsessorga ega bo'lgan tizimlarda ko'p ishlov berish odatda vaqtni taqsimlash yo'li bilan amalga oshiriladi, bu usul mavjud protsessorga har xil ish zarralarida ishlaydigan turli xil dasturiy ta'minotni almashtirishga imkon beradi. Vaqtni taqsimlashda protsessorning o'zi o'z ishini shu qadar tez va tez-tez o'zgartiradiki, foydalanuvchilar odatda o'zlarining dasturlari parallel ravishda ishlayotganligini sezadilar (masalan, bitta protsessor bilan bir nechta kompyuterda bir vaqtning o'zida ikkita turli xil dasturlarni ochganda):