JavaRush /Kurslar /All lectures for UZ purposes /join — ipning tugashini kutish

join — ipning tugashini kutish

All lectures for UZ purposes
Daraja, Dars
Mavjud

— Salom, Amigo! Men ko'ryapman, sen iplarni o'rganishda katta yutuqlarga erishayapsan.

— Bu qiyin emas ekan.

— Bu juda yaxshi! Bugun oson dars, bu darsning mavzusi – join metodi.

Bir vaziyatni tasavvur qil: bosh ip biron bir vazifani bajarish uchun qiz ipni yaratdi. Vaqt o'tadi, va mana bosh ipga qiz ipning ishlash natijalari kerak bo'ladi. Lekin qiz ip hali ishini tugatmagan. Bosh ip nima qilish kerak?

— Ha, bosh ip nima qilsin?

— Bu uchun join metodi bor. Uning mohiyati shundaki. Bir ip ikkinchi ipning ishini to'liq tugatgunicha kutadi:

Kod Tavsif
class Printer implements Runnable
{
private String name;
public Printer(String name)
{
this.name = name;
}
public void run()
{
System.out.println("I’m " + this.name);
}
}
Runnable interfeysini amalga oshiradigan sinf.
public static void main(String[] args)
{
Printer printer1 = new Printer("Kola");
Thread thread1 = new Thread(printer1);
thread1.start();

thread1.join();
}
Bosh ip qiz ipni yaratadi – thread1 obyekti.

Keyin uni ishga tushiradi – thread1.start();

Va uning tugashini kutadi – thread1.join();

Bir ip ikkinchi ip obyekti uchun join metodini chaqirishi mumkin. Natijada birinchi ip (metodni chaqirgan) ikkinchi ip (uning obyekti metodi chaqirildi) ishini tugatgunicha o'z ishini to'xtatadi.

Bu yerda ikkita narsani ajratish kerak: aslida ip - buyruqlarni ijro etuvchi alohida jarayon, va ip obyekti (Thread obyekti) bor.

— Va bu hammasi?

— Ha.

— Nima uchun ipni yaratib, darhol uni tugashini kutish kerak?

— Darhol kotarish shart emas. Lekin bir muddat o'tgach, ehtiyoj tug'ilishi mumkin. Bosh ip birinchi qiz ip ishga tushgandan so'ng boshqa iplar bilan ko'p vazifalarni topshirishi mumkin (ularni yaratib va start metodni chaqirib), keyin esa hammasi, boshqa ishlari qolmaydi, birinchi qiz ipning ish natijalarini qayta ishlash kerak. Bunday hollarda, albatta, boshqa ipning ishini tugashini kutish kerak bo'lganda, join metodi chaqirilishi kerak.

— Tushunarli.

Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION