Sog'lom sleep

All lectures for UZ purposes
Daraja, Dars
Mavjud

— Salom, Amigo! Bugun Bilabo senga nitlar bilan ishlashda eng qiziqarli metodlardan biri — sleep metodi haqida so'zlab beradi. Sleep metodi Thread klassining statik metodi sifatida e'lon qilingan, ya'ni u hech qanday ob'ekt bilan bog'lanmagan. Bu metodning maqsadi dastur "uxlab qolishi" uchun bir oz vaqt ajratish. Mana qanday ishlaydi:

Kod Izoh
public static void main(String[] args)
{
Thread.sleep(2000);
}
Dastur ishga tushadi.

So'ngra 2 soniya (2 000 millisekund) davomida to'xtaydi.

So'ngra tugaydi.

Sleep metodining yagona parametri — bu vaqt. Vaqt mingdan bir soniyalarda (millisekundalarda) belgilanadi. Nima paytda nitya ushbu metodni chaqirganda, u aytilgan millisekund vaqt davomida uxlaydi.

— Qayerda buni yaxshiroq ishlatish yaxshi?

— Ushbu metod ko'p hollarda ikkilamchi nitlarda ishlatiladi, qachonki biror amalni takror-takror bajarish kerak, lekin juda tez-tez emas. Mana bir misol:

Kod Izoh
public static void main(String[] args)
{
while (true)
{
Thread.sleep(500);
System.out.println("Tik");
}
}
Dastur abadiy ishlaydi – sikl davom ettirish sharti hech qachon buzilmaydi.

Sikl ichida dastur quyidagilarni bajaradi:
a) yarim soniya uxlaydi
b) ekranga "Tik" matnini chiqaradi

Ya'ni, har soniyada ikki marta biror amal bajariladi.

— Voy, bu qiziq ekan endi.

— Xursandman, senga yoqqanidan, mening do'stim Amigo!

— Agar men biror amalni sekundiga 100 marta bajarishni xohlasam, nima qilish kerak?

— Agar amal 100 marta sekundiga bajarilishi kerak bo'lsa, va bir sekundda 1000 millisekund bor bo'lsa, demak amal har 10 millisekundda bajarilishi kerak.

Agar senga amal 2 millisekundni oladi, unda unga 8 millisekundli pauza qo'shish kerak. Birgalikda ular aniq 10 millisekundda bajariladi. Va bir sekundda – aniq 100 marta.

Agar sening amaling deyarli darhol bajarilsa, unda 10 millisekundli pauza (sleep) qo'ygin. Unda sekundiga ham taxminan 100 marta bo'ladi.

— Rahmat, Bilabo.

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