Чекор по чекор
Почетни чекори со Java
Објектно оријентирани концепти во Јава - Прв дел
Објектно оријентирани концепти во Јава - Втор дел
Објектно оријентирани концепти во Јава - Трет дел
Јава сервлети - Прв дел
Единствен Јава објект (singleton)
Најчести 10 грешки што ги прават Java програмерите
повеќе...
Што е тоа ...
... IDE
... Tomcat
... објект?
... класа?
... наследување?
... интерфејс?
... наследување? (прашања и одговори)
повеќе...
За загревање
Нов проект во Eclipse?
Примитивни податочни типови
Променливи
Оператори
Доделувачки, аритметички и Unary оператори
Оператори за еднаквост, релации и услови
Изрази, искази и блокови
повеќе...
Како да ...
... конвертирам java.sql.Timestamp во java.util.Date
... зададам формат на датум
... ковертирам „long“ во HEX и обратно
... прочитам датотека и променам стринг
... креирам ZIP датотека
... поврзам Apache и Tomcat користејќи mod_jk
... пратам недефиниран број на атрибути до некоја метода
повеќе...
Java преку примери
new Socket(String addr,int port)
new URL(String address)
new URL(String protocol, String host, int port, String file)
CommPort: getInputStream()
CommPortIdentifier: getPortIdentifiers()
Statement: executeQuery(String sql)
Statement: getMaxRows()
повеќе...
Грешка
Нов напис
Рубрика:
Наслов:
  
  

страна број:123
Јава нишки (Java threads)
Наследување на класата Thread

Процедурата за креирање на нишка со наследување на класата Thread изгледа вака:

1. Класата ја наследува класата Thread и ја override-ува методата run() од класата Thread ѕа да го дефинира кодот кој треба да биде изврешен од нишката.

2. Оваа подкласа може да го повика конструкторот на суперкласата за да ја иницијализира нишката користејќи го повикот до супер-контрукторот super();

3. Се повикува наследената метода start() за да може нишката да почне со извршување на програмската логика.


Еве и примерче кое го илустрира наследувањето на класата. За да ја стартувате нишката потребно е да ја повикате методата start() на инстанцираниот објект.

class XThread extends Thread {

    XThread() {
    }
    XThread(String imeNaNiskata) {
        super(imeNaNiskata); // Inicijalizacija na nishkata
        System.out.println(this);
        start();
    }
    public void run() {
        //Prikazi informacii za momentalnata nishka
        System.out.println(Thread.currentThread().getName());
    }
}

public class PrimerZaNishka {

    public static void main(String[] args) {
        Thread thread1 = new Thread(new XThread(), "nishka1");
        Thread thread2 = new Thread(new XThread(), "nishka2");
        // Slednite dve nishki ke imaat voobicaeni iminja
        Thread thread3 = new XThread();
        Thread thread4 = new XThread();
        Thread thread5 = new XThread("nishka5");
        //Startuvanje na nishkite
        thread1.start();
        thread2.start();
        thread3.start();
        thread4.start();
        try {
    //Metodata sleep() e povikana za da ovozmozhi pauza od 1 sekunda
            Thread.currentThread().sleep(1000);
        } catch (InterruptedException e) {
        }
        //Prikazi informacii za glanata nishka
        System.out.println(Thread.currentThread());
    }
}


Излезот би требало да наликува нешто налик на ова:

Thread[nishka5,5,main]
nishka1
nishka5
nishka2
Thread-3
Thread-2
Thread[main,5,main]private


Кога се креираат нишки има две главни причини зошто некогаш е позгодно да се имплементира интерфејсот Runnable одколку да се наследи класата Thread:

- Наследувањето на класата Thread значи дека подкласата нема да може да наследи некоја друга класа, а имплементацијата на интерфејсот ќе ја овозможи баш таа опција

- Класата можеби треба само да биде Runnable па наследувањето на класата Thread би било беспотребно.
страна број: 1 2 3 << претходна страна :
 
Коментирај
автор: Анонимус
Анонимните коментари ќе бидат објавувани веднаш после нивната проверка.
За да вашиот коментар биде веднаш валиден претходно пријавете се или креирајте свој профил


напишал: Анонимус (30.11.2009 22:07:45)
Исто така за креирање на нишка може да се имплементира интерфејсот, Runnable. Најчесто во пракса се користи повеќе интерфејсот отколку самата класа за креирање на нишка, од проста причина што една класа може да наследи само една родителска класа ама може да имплементира повеќе интерфејси
напишал: Анонимус (26.11.2012 16:07:19)
Ако може помош околу оваа задача.

Една нитка случајно генерира (random) броеви на секои 0,5 секунди. Доколку најде 2 последователни броеви кои се прости, тогаш работата се предава на друга нитка. Новата нитка на секоја секунда случајно генерира по два броеви и проверува дали разликата меѓу првиот прост број од претходната нитка и првиот генериран број е прост број. Доколку разликата е прост број истата ја печати заедно со генерираните броеви. Потоа нитката застанува со работа. Истото се случува доколку вториот прост број и вториот генериран број го задоволуваат условот. Доколку првата нитка во 50 обиди не најде 2 последователни прости броеви се печати порака “Ne se najdeni prosti broevi”;
пребарување
најди
 
Форум
 
JugMK
GetJava Download Button
http://www.eclipse.org
 
 
 
 
Copyrights © 2006 - 2017 by Java.com.mk
Права и правила за користење на java.com.mk
Контакт адреса:
contact AT java.com.mk
Powered by Supernova v.0.70 beta
JavaTM и Java-базираните ознаки се трговски марки или регистрирани трговски марки на Sun Microsystems, Inc. во САД и други држави. Java.com.mk никако не соработува со Sun Microsystems, Inc.
Сите други трговски марки се сопственост на нивните сопственици.