Xii bob. Potoklar


Download 116.5 Kb.
bet1/16
Sana25.06.2023
Hajmi116.5 Kb.
#1654625
  1   2   3   4   5   6   7   8   9   ...   16
Bog'liq
LSB 12-BOB


XII BOB. POTOKLAR
12.1. Potoklar haqida tushuncha va ularning xususiyatlarini tahlil qilish.
Potok (oqim) tushunchasi. Oqimlar (threads) bitta dasturda bir vaqtning o‘zida biror xarakatlarni bajarishga ruxsat beradi. Linuxda oqimlar bilan ishlash uchun Pthread kutubxonasi bilan amalga oshiriladi. Ushbu kutubxonani chaqirish uchun komponovshikga –lpthread opsiyasini yuborish kerak.
Oqimlar bitta dastur doirasida bir vaqtning o‘zida umumiy ma’lumotlardan foydalanib bir necha jaryonni boshqaradi. Oqimlar Linuxda jaryonnlar kabi bog‘liq bo‘lmagan ravishda bajariladi.
Fayllar bilan ishlash uchun quyidagi sinflar ob‘yektlari hosil qilinadi:
ofstream - faylga ma'lumot yozish uchun
ifstream - fayldan ma'lumot o'qish uchun
fstream - fayldan ma'lumot o'qish uchun va yozish uchun

Bu sinflarni dasturda ishlatish uchun sarlavha faylini qo'shish kerak bo'ladi. Bundan keyin programmada aniq fayllar oqimini aniqlash mumkin. Masalan: ofstream yozish; // faylga yozish oqimini e'lon qilish
ifstream oqish; // fayldan o'qish oqimini e'lon qilish fstream yoz_oqi; // faylga yozish va o'qish oqimini e'lon qilish
Keyin faylni ochish kerak bo'ladi. Faylni ochish deganda, uning ustida nima amal qilinishi haqida amaliyot tizimiga xabar berish tushuniladi.
Oqim bilan ishlovchi asosiy funksiyalar:

  • pthread_create - oqim hosil qilish;

  • pthread_join – oqim tugashini kutayotgan chaqirilgan funksiyani ishini bloklash;

  • pthread_cancel– boshqa jarayon yoki oqimdan turib oqimni oldindroq tugatish;

  • pthread_exitoqimni tugatish, unda tugatish kodi pthread_join funkyasiga jo‘natiladi. Ushbu funksiya xuddi exit funksiyasiga o‘xshab ishlaydi, faqat bu funksiyada hamma programmani to‘xtadai.

Oqim hosil qilish uchun, kompilyatorni pthread kaliti bilan ishlatamiz:
  1   2   3   4   5   6   7   8   9   ...   16




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