AppletTalk.com Forum Index AppletTalk.com
Java discussions newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

"Multithreading dinamico"

 
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java (Italian)
View previous topic :: View next topic  
Author Message
Bixio
Guest





PostPosted: Thu Feb 19, 2004 9:59 pm    Post subject: "Multithreading dinamico" Reply with quote



Vorrei sapere da qualche esperto se c'è un modo di gestire dinamicamente il
numero di threads di un'applicazione.
Per capirci:
- faccio partire l'applicazione con un numero standard di threads
- durante l'esecuzione modifico il numero dei threads
- a seconda del nuovo valore il numero di threads in esecuzione sale (o
scende) dinamicamente

Tutto chiaro??
Come posso fare?

grazie


Back to top
Andrea B.
Guest





PostPosted: Fri Feb 20, 2004 8:26 am    Post subject: Re: "Multithreading dinamico" Reply with quote



Semplicemente istanziando nuovi thread quanto ti pare o terminandoli (meglio
se evitando metodi deprecati) al momento opportuno

Thread t = new Thread(Runnable r);
t.start()

o la tua classe estende Thread

Ciao

"Bixio" <bixio.ng (AT) email (DOT) it> ha scritto nel messaggio
news:4laZb.259926$VW.10396250 (AT) news3 (DOT) tin.it...
Quote:
Vorrei sapere da qualche esperto se c'è un modo di gestire dinamicamente
il
numero di threads di un'applicazione.
Per capirci:
- faccio partire l'applicazione con un numero standard di threads
- durante l'esecuzione modifico il numero dei threads
- a seconda del nuovo valore il numero di threads in esecuzione sale (o
scende) dinamicamente

Tutto chiaro??
Come posso fare?

grazie





Back to top
Bixio
Guest





PostPosted: Fri Feb 20, 2004 9:15 am    Post subject: Re: "Multithreading dinamico" Reply with quote



Ma ogni thread che lancio deve avere un nome diverso, vero??
quindi t[1] , t[2] ecc ecc...


"Andrea B." <ab (AT) xx (DOT) it> ha scritto nel messaggio
news:c14g0o$ntq$1 (AT) fata (DOT) cs.interbusiness.it...
Quote:
Semplicemente istanziando nuovi thread quanto ti pare o terminandoli
(meglio
se evitando metodi deprecati) al momento opportuno

Thread t = new Thread(Runnable r);
t.start()

o la tua classe estende Thread

Ciao

"Bixio" <bixio.ng (AT) email (DOT) it> ha scritto nel messaggio
news:4laZb.259926$VW.10396250 (AT) news3 (DOT) tin.it...
Vorrei sapere da qualche esperto se c'è un modo di gestire dinamicamente
il
numero di threads di un'applicazione.
Per capirci:
- faccio partire l'applicazione con un numero standard di threads
- durante l'esecuzione modifico il numero dei threads
- a seconda del nuovo valore il numero di threads in esecuzione sale (o
scende) dinamicamente

Tutto chiaro??
Come posso fare?

grazie







Back to top
Vincent Vega
Guest





PostPosted: Fri Feb 20, 2004 11:46 am    Post subject: Re: "Multithreading dinamico" Reply with quote

"Bixio" <bixio.ng (AT) email (DOT) it> wrote in
news:4fkZb.347401$_P.11907007 (AT) news4 (DOT) tin.it:

Quote:
Ma ogni thread che lancio deve avere un nome diverso, vero??
quindi t[1] , t[2] ecc ecc...

Ogni thread deve essere un istanza diversa, in linea teorica puoi usare la
stessa variabile a patto che prima di ogni start tu crei una nuova istanza
con new.
Poi sta al thread principale decidere se memorizzare i singoli thread in
diverse variabili, gestire un pool, etc... naturalmente se ri-usa la stessa
variabile per avviare più thread perde via via il controllo degli stessi,
dipende da quello che vuoi fare.




Back to top
Cristiano Sadun
Guest





PostPosted: Thu Feb 26, 2004 2:00 pm    Post subject: Re: "Multithreading dinamico" Reply with quote

"Bixio" <bixio.ng (AT) email (DOT) it> wrote in
news:4laZb.259926$VW.10396250 (AT) news3 (DOT) tin.it:

Quote:
Vorrei sapere da qualche esperto se c'è un modo di gestire
dinamicamente il numero di threads di un'applicazione.
Per capirci:
- faccio partire l'applicazione con un numero standard di threads
- durante l'esecuzione modifico il numero dei threads
- a seconda del nuovo valore il numero di threads in esecuzione sale
(o scende) dinamicamente

Tutto chiaro??

Er, no. :)

Un'applicazione parte sempre con un thread (il main) piu' un altro paio
interni. L'unico modo di "modificare il numero di threads" e' creare un
oggetto Thread (explicitamente o no) e farlo partire con start().
Una volta partito, non c'e' verso di terminarlo finche' non esce (escluso
stop() che e' deprecato) o la JVM termina.

Se quello che vuoi fare e' avere un certo numero di Runnable e associarli o
meno a threads a seconda di fattori esterni, puoi provare ad usare un
thread pool - e ricrearlo (o modificarne le dimensioni se possibile) quando
vuoi aumentare/diminuire il numero di thread applicativi disponibili..

Dai un'occhiata a http://sadun-
util.sourceforge.net/api/org/sadun/util/tp/ThreadPool.html e magari
http://sadun-util.sourceforge.net/api/org/sadun/util/ThreadBlockRunner.html
e vedi se ti servono.

(il thread pool non e' ridimensionabile).

--
You dont know what to do when you dont know what you're doing.
http://space.tin.it/computer/csadun

Back to top
Display posts from previous:   
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.