PDA

View Full Version : [java]server multithread


Frank1962
09-05-2007, 13:15
Spulciando la documentazione di java ho notato che, sostanzialmente, le possibilità di creare un server che gestisca molteplici connessioni sono due:

1) creo un thread per ogni connessione

2) le gestisco tutte con un solo thread utilizzando le proprietà non bloccanti dei socketchannel.

Non volendo reinventare la ruota, andando ad implementare qualcosa che forse è già disponibile nelle librerie java, mi domandavo se non c'era qualche classe che permetta di fissare un numero di thread che il server deve utilizzare per gestire le connessioni dei client senza che sia obbligato a utilizzarne uno per tutti i client, oppure ,uno per ogni client.

professionisti di java.net a me!! :D

PGI-Bis
09-05-2007, 13:22
Non c'è. Ci sono degli strumenti nel package concurrent per gestire dei pool di Thread ma l'affidamento al pool del compito di far girare un servizio di rete è da realizzare a manina.

Frank1962
09-05-2007, 13:57
ufff :(

almeno c'è la possibilità di configurare il serversocketchannel in modo che accetti una sola connessione per ip? ....se devo gestire più thread che sevono più connessioni di uno stesso client questo mi crerebbe qualche problemino lato efficenza dovendo andare a controllare le precedenti richieste del client sulle altre connessioni gestite, probabilemente, da altri thread.

...o è da fare a manina anche questo? :cry:

PGI-Bis
09-05-2007, 14:26
manina.

Frank1962
09-05-2007, 14:30
manina.
ma dov'è andato a finire il "tatto" che contraddistingueva i programmatori java da quelli di c!!?? :D :D :D

PGI-Bis
09-05-2007, 15:11
Nel senso che l'ho messa giù troppo dura? :confused:

Se vuoi ti dico che un modo c'è, ma una balla :D.

Frank1962
09-05-2007, 16:11
Se vuoi ti dico che un modo c'è, ma una balla :D.
:rotfl: