/ 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
Threads - hvordan og oprydning
Fra : Kurt Pedersen


Dato : 28-06-02 23:21

Jeg har en server som gerne skulle kunne behandle
flere klienter på af gangen. Er dette korrekt, eller
er jeg helt ude i skoven?

Også lige et tillægsspørgssmål, ryder en thread op
efter sig efter den har gennemløbet run()? Skal
eller kan jeg gøre noget for at være helt sikker?
Jeg er ganske sikker på at noget ligger og roder
da jeg efter ca. 50 klient connections fylder
server processen 26K + mem under win xp.

public static void main (String[] args)
{
DatagramSocket socket;
DatagramPacket packet;
byte[] receiveBuffer = new byte[256];
try
{
socket = new DatagramSocket(3344);
packet = new DatagramPacket(receiveBuffer, 256);
System.out.println("QuoteServer listening on port: " +
socket.getLocalPort());
while (true)
{
socket.receive(packet);
ServerThread newThread = new ServerThread(socket, packet,
receiveBuffer);
Thread thisThread = new Thread(newThread);
thisThread.run();
};
}
catch (java.io.IOException e) {
System.err.println("Could not create datagram socket.");
}
}



 
 
Dennis Thrysøe (01-07-2002)
Kommentar
Fra : Dennis Thrysøe


Dato : 01-07-02 07:32

Kurt Pedersen wrote:
> Også lige et tillægsspørgssmål, ryder en thread op
> efter sig efter den har gennemløbet run()? Skal
> eller kan jeg gøre noget for at være helt sikker?

Det fungerer som alle andre objekter. Når tråden er færdig, forsvinder
der nogle referencer til objekter. Disse objekter vil med tiden blive
ryddet op. Hvis der er yderligere referencer uden for trådens scope
(f.eks. i en fælles datastruktur) bliver disse objekter i hukommelsen.

> Jeg er ganske sikker på at noget ligger og roder
> da jeg efter ca. 50 klient connections fylder
> server processen 26K + mem under win xp.

Hvad mener du med "26K + mem"? Der bliver jo selvfølgelig loadet nogle
klasser og nogle fælles ting. Kunne det være det?

-dennis



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste