/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Tråde
Fra : Anders Lund


Dato : 05-08-02 15:07

Hvorfor virker denne app ikke multitrådet (eller hvad det hedder).
http://www.zaim.dk/blandet/url.htm

meningen er at tråd a og tråd b skal køre uafhønning af hinnanden og main
classen. Men det sker ikke, b bliver først startet når a er færdig.


--
Mvh
Anders Lund
Anders@zaimGED.dk
Fjern geden fra min signatur!



 
 
Morten (05-08-2002)
Kommentar
Fra : Morten


Dato : 05-08-02 15:21

Anders Lund wrote:
> Hvorfor virker denne app ikke multitrådet (eller hvad det hedder).
> http://www.zaim.dk/blandet/url.htm
>
> meningen er at tråd a og tråd b skal køre uafhønning af hinnanden og main
> classen. Men det sker ikke, b bliver først startet når a er færdig.

Det er ikke nok bare at extende Thread. Du skal implementere logikken
i en void run() metode og aktivere tråden med et kald til start();

public class ThreadDemo extends Thread {

public void run()
{
while(true)
{
try {
sleep(1000+(int)(Math.random()*1000));
}
catch(InterruptedException e) {
System.out.println("IE: "+e);
}

System.out.println("Hello from thread "+super.getName());
}
}

public static void main(String[] args) {
for(int i=0; i<10; i++) {
Thread t = new ThreadDemo();
t.start();
}
}
}

Se

http://java.sun.com/docs/books/tutorial/essential/threads/

Mvh Morten


Daniel Jacobsen (06-08-2002)
Kommentar
Fra : Daniel Jacobsen


Dato : 06-08-02 00:24

> meningen er at tråd a og tråd b skal køre uafhønning af hinnanden og main
> classen. Men det sker ikke, b bliver først startet når a er færdig.

Fordi du ikke har lavet din tråd rigtigt. Når du extend'er Thread, skal din
klasse indeholde metoden: public void run()
i din main-metode skal du skrive:

a.start();
b.start();

start() kalder run(). Du skal så sørge for at din run() kalder get(String
host,int antreq,String varname).
Nu er det sådan, at run() ikke kan få argumenter, så du skal parse alle dine
variable til trådens konstruktør. run() kan heller ikke kaste exceptions, så
de skal fanges i tråden selv.

/Daniel J.



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408521
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste