Algoritmlarni loyihalash. Maruzachi o’qituvchi: katta o’qituvchi Ganihodjayeva Dilfuza Ziyavutdinovna



Download 57,94 Kb.
bet10/10
Sana13.04.2021
Hajmi57,94 Kb.
#63290
1   2   3   4   5   6   7   8   9   10
Bog'liq
AL 9 Maruza Kop oqimli dasturlash

Oqim 2

Oqim 3

  1. Bloklaydi

  2. Ishlaydi

  3. Blokdan oladi

Объеkt

  1. Blokni ochishga harakat qiladi

  2. Kutadi

  3. Bloklaydi

  4. Ishlaydi

Sinxronlash

Sinxronlangan blok



//Блокируется указанный объект

synchronized (<Ссылка на объект>) {

<Тело блока синхронизации>

}

Sinxronlangan usul



//Блокируется объект-владелец метода

public synchronized void <Имя метода>() {

<Тело метода>

}

Odatdagi xatolar

Sinxronizatsiya yetishmasligi

Obyektlarni uzoq muddatli asossiz blokirovka qilish

O’zaro bloklash (deadlock)

Eksklyuziv(ko’p oqimli) oqimlarning paydo bo'lishi

Hususiyatlarni ratsional bo’linmasligi



Sinf o Object ning maxsus usullari

Har bir ob'ektda kutish oqimlari to'plami mavjud (kutish).

Har qanday oqim istalgan ob'ektning kutish () usuliga qo'ng'iroq qilishi va u uyg'onguncha to'xtab, kutish rejimiga kirishi mumkin

Ob'ektning xabar berish () usuli ob'ektni kutish to'plamidan tasodifiy tanlangan bitta oqimni uyg'otadi

Ob'ektning notifyAll () usuli ob'ektni kutish to'plamidagi barcha oqimlarni uyg'otadi

Class Object usulini qo'llash xususiyatlari

Usulni ob'ektga oqim orqali qo'ng'iroq qilish mumkin, faqat ushbu ob'ektda qulf o'rnatilgandan so'ng

Mavzular, kutish () usulini chaqirganingizdan keyin bajarishni to'xtatmasdan oldin, ularning barcha qulflarini bo'shating

Bo'shatish usulini chaqirgandan so'ng, oqimlar ilgari chiqarilgan qulflarni tiklashga harakat qilishadi.



Oqimlar bo'yicha taqiqlangan harakatlar

Mavzu.suspend (), mavzuga oid

Buzilishlar sonini ko'paytiradi

Thread.stop ()

Foydalanish buzilgan narsalarga olib keladi

Oqimning uzilishi

public void interrupt () oqim holatini to'xtatilgan holda o'zgartiradi

public static boolean interrupted () Qaytish va oqim holatini tozalash (to'xtatilgan yoki yo'q)

public boolean isInterrupted () Oqim holatini qaytaradi (uzilgan yoki yo'q)

Oqim ish paytida uning holatini tekshirishi kerak va agar u uzilib qolsa to'g'ri yopilishi kerak.

Agar oqim "uxlasa"?

Agar hozirgi vaqtda kutish (), uxlash (), qo'shilish () usullari bajarilayotgan bo'lsa va u interrupt () usulini chaqirib to'xtatilsa ...

usul InterruptedException otish bilan tugaydi!

Oqim uzilib qolganligi haqida xabar berilmagan



Bog’lovchi ob'ekt kodiga namuna

public class Keeper {

private Object data;

private boolean gettingData = false;

synchronized public void putData(Object obj)
try {


while(gettingData)

wait();

data = obj;

gettingData = true;

notifyAll();

} catch(InterruptedException e) {

Thread.currentThread().interrupt();

}

}

...

...

synchronized public Object getData()

throws InterruptedException {

while(!gettingData)

wait();

gettingData = false;

notifyAll();

return data;

}

}

Kutish wait() va uxlash sleep() o'rtasidagi farqlar

kutish wait () ob'ektning oqimi tomonidan chaqiriladi, sleep () esa oqim bilan chaqiriladi

kutish wait ()oqimini notifyAll () yoki notify () usullari bilan boshlash mumkin va "uxlab yotgan" ipni "uyg'otib bo'lmaydi"

Kutish wait () sinxron kontekstdan chaqiriladi, lekin uxlash uchun sleep () bu kerak emas



kutish wait () odatda oqim oqim ob'ektga qulfni bo'shatish sharti bilan chaqiriladi.

Foydalanilgan manbalar

  • Арнолд, К. Язык программирования Java [Текст] / Кен Арнолд, Джеймс Гослинг, Дэвид Холмс. – М. : Издательский дом «Вильямс», 2001. – 624 с.

  • Вязовик, Н.А. Программирование на Java. Курс лекций [Текст] / Н.А. Вязовик. – М. : Интернет-университет информационных технологий, 2003. – 592 с.

  • Хорстманн, К. Java 2. Библиотека профессионала. Том 2. Тонкости программирования [Текст] / Кей Хорстманн, Гари Корнелл. – М. : Издательский дом «Вильямс», 2010 г. – 992 с.

  • Эккель, Б. Философия Java [Текст] / Брюс Эккель. – СПб. : Питер, 2011. – 640 с.

  • JavaSE at a Glance [Электронный ресурс]. – Режим доступа: http://www.oracle.com/technetwork/java/javase/overview/index.html, дата доступа: 21.10.2011.

  • JavaSE APIs & Documentation [Электронный ресурс]. – Режим доступа: http://www.oracle.com/technetwork/java/javase/documentation/api-jsp-136079.html, дата доступа: 21.10.2011.

Download 57,94 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




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