Re: pitanje za Zaharija
nema potrebe da mySocket postavljas na null jer sa mySocket.close() prekida osluskivanje, provalio sam zasto nije ovo dalje radilo. naime onog trenutka kada u metodu end() odradi mySocket.close() on u run metodu odmah baci exception a ne zavrsi metod end() tako da sam samo u catch bloku run() metoda stavio da referenca na ovaj thread bude null i kraj=true i resen problem, a kada hocu da ponovo pokrenem ovaj thread ja kreiram njegovu novu instancu i startujem je dok ona stara instanca ceka da je garbage collector pokupi. poz. Djorjde
Dokic Djordje <digitalac@beotel.yu> wrote:Ja sam cini mi se ovo uspeo da resim tako sto stavim pomenuti mySocket na null
A onda mi on ispali izuzetak na onom acceptu koji ja uhvatim i to je to :-)
Nadam se da ce ovo nesto pomoci. Pozdrav
----- Original Message -----
From: Djordje Popovic
To: drs@titan.etf.bg.ac.yu
Sent: Sunday, June 13, 2004 13:19
Subject: Re: [drs] pitanje za Zaharija
naime zaboravio sam da kazem da main.podserver je pokazivac na instancu klase PodserverEngine koju hocu da zaustavim zato stavljam da je ona null kako bi garbage collector mogao da je pokupi. Sto se tice klase PodserverMain ona samo sadrzi referencu na ovaj thread (main.podserver), tj kreira instancu ovog thread-a i nista vise, ali naime na ovaj nacin uopste ne zaustavljam thread jer on i dalje nastavlja da trci tj. ceka na blokirajucem mySocket.accept() pa nikada ne izlazim iz while petlje.
Zaharije Radivojevic <zaki@galeb.etf.bg.ac.yu> wrote:
Postovani,
Nisam bas siguran da razumem sta pitate, jer pojma nemam sta radi PodserverMain
main. Na ovaj nacin kako je realizovano Vi zaustavljate PodserverEngine a
deo main.podserver = null neznam ni cemu sluzi. Molim Vas da posaljete i
ostatak koda. Mada sa main.podserver = null misam siguran da moze ista da
se zaustavi.
Mozete me potrziti na fakultetu u utorak oko 14:00 u sali 36 ili 37.
Pozdrav
Zaharije
On Sat, 12 Jun 2004, Djordje Popovic wrote:
> imam problem kako da zaustavim ovaj thread:
>
> public class PodserverEngine extends Thread{
> public ServerSocket mySocket;
> public PodserverMain main;
> boolean kraj = false;
> public Socket socket;
> public PodserverEngine(PodserverMain main) {
>
> this.main = main;
> }
>
> public void run(){
> try{
> mySocket = new ServerSocket(port);
> while(!kraj){
> socket = mySocket.accept();
> new EngineThread(socket, this, 1, main).start();
> }
>
> }catch(Exception e){
> handleException(e);
> }
> }
>
>
> public void handleException(Exception e){};
> public void initialize(){};
> public void end()throws Exception{
> mySocket.close();
> socket.close();
>
> kraj=true;
> main.podserver = null;
>
> }
>
> }
> kao sto se vidi pokusao sam da ga zaustavim postavljanjem pokazivaca na
ovaj thread na null (to je ovo main.podserver=null u metodu end()) ali on
i dalje radi jer mySocket.accept() je blokirajuci pa thread ne izlazi iz
svog run metoda, cak ni posto zatvorim socket, bra ja tako mislim, nemogu
ni da pokusam sa this.interrupt() jer ovo pali samo kad je thread uspavan
(sleep()), dakle pitanje ima li jos neka fora da se thread prekine.
>
>
> ---------------------------------
> Do you Yahoo!?
> Friends. Fun. Try the all-new Yahoo! Messenger
-----------------------------------------------------------------
unsubscribe:
minimalist@titan.etf.bg.ac.yu?subject=unsubscribe%20drs
-----------------------------------------------------------------
---------------------------------
Do you Yahoo!?
Friends. Fun. Try the all-new Yahoo! Messenger
---------------------------------
Do you Yahoo!?
Read only the mail you want - Yahoo! Mail SpamGuard.
Dokic Djordje <digitalac@beotel.yu> wrote:Ja sam cini mi se ovo uspeo da resim tako sto stavim pomenuti mySocket na null
A onda mi on ispali izuzetak na onom acceptu koji ja uhvatim i to je to :-)
Nadam se da ce ovo nesto pomoci. Pozdrav
----- Original Message -----
From: Djordje Popovic
To: drs@titan.etf.bg.ac.yu
Sent: Sunday, June 13, 2004 13:19
Subject: Re: [drs] pitanje za Zaharija
naime zaboravio sam da kazem da main.podserver je pokazivac na instancu klase PodserverEngine koju hocu da zaustavim zato stavljam da je ona null kako bi garbage collector mogao da je pokupi. Sto se tice klase PodserverMain ona samo sadrzi referencu na ovaj thread (main.podserver), tj kreira instancu ovog thread-a i nista vise, ali naime na ovaj nacin uopste ne zaustavljam thread jer on i dalje nastavlja da trci tj. ceka na blokirajucem mySocket.accept() pa nikada ne izlazim iz while petlje.
Zaharije Radivojevic <zaki@galeb.etf.bg.ac.yu> wrote:
Postovani,
Nisam bas siguran da razumem sta pitate, jer pojma nemam sta radi PodserverMain
main. Na ovaj nacin kako je realizovano Vi zaustavljate PodserverEngine a
deo main.podserver = null neznam ni cemu sluzi. Molim Vas da posaljete i
ostatak koda. Mada sa main.podserver = null misam siguran da moze ista da
se zaustavi.
Mozete me potrziti na fakultetu u utorak oko 14:00 u sali 36 ili 37.
Pozdrav
Zaharije
On Sat, 12 Jun 2004, Djordje Popovic wrote:
> imam problem kako da zaustavim ovaj thread:
>
> public class PodserverEngine extends Thread{
> public ServerSocket mySocket;
> public PodserverMain main;
> boolean kraj = false;
> public Socket socket;
> public PodserverEngine(PodserverMain main) {
>
> this.main = main;
> }
>
> public void run(){
> try{
> mySocket = new ServerSocket(port);
> while(!kraj){
> socket = mySocket.accept();
> new EngineThread(socket, this, 1, main).start();
> }
>
> }catch(Exception e){
> handleException(e);
> }
> }
>
>
> public void handleException(Exception e){};
> public void initialize(){};
> public void end()throws Exception{
> mySocket.close();
> socket.close();
>
> kraj=true;
> main.podserver = null;
>
> }
>
> }
> kao sto se vidi pokusao sam da ga zaustavim postavljanjem pokazivaca na
ovaj thread na null (to je ovo main.podserver=null u metodu end()) ali on
i dalje radi jer mySocket.accept() je blokirajuci pa thread ne izlazi iz
svog run metoda, cak ni posto zatvorim socket, bra ja tako mislim, nemogu
ni da pokusam sa this.interrupt() jer ovo pali samo kad je thread uspavan
(sleep()), dakle pitanje ima li jos neka fora da se thread prekine.
>
>
> ---------------------------------
> Do you Yahoo!?
> Friends. Fun. Try the all-new Yahoo! Messenger
-----------------------------------------------------------------
unsubscribe:
minimalist@titan.etf.bg.ac.yu?subject=unsubscribe%20drs
-----------------------------------------------------------------
---------------------------------
Do you Yahoo!?
Friends. Fun. Try the all-new Yahoo! Messenger
---------------------------------
Do you Yahoo!?
Read only the mail you want - Yahoo! Mail SpamGuard.
- References:
- Re: pitanje za Zaharija
- From: "Dokic Djordje" <digitalac@beotel.yu>
- Re: pitanje za Zaharija
Previous by date: Re: pitanje za Zaharija
Next by date: Materijali
Previous by thread: Re: pitanje za Zaharija Next by thread: Materijali
Previous by thread: Re: pitanje za Zaharija Next by thread: Materijali