Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    24

    Informazioni sui Thread

    Domanda sui Thread :P.
    Supponiamo che facessi creare ad ogni login un nuovo Thread per ogni utente...come nome gli setto quello della sessione.

    Io eseguo il login: Lanza88

    poi entra un altro utente ed esegue il login: Lanza89...

    Ci saranno così due Thread, Lanza88 e Lanza89 che vengono messi in pausa...io Lanza88 posso dire di far partire il thread Lanza89?Cioè posso far partire il thread a un altro utente che è collegato?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Informazioni sui Thread

    Originariamente inviato da Lanza88
    Supponiamo che facessi creare ad ogni login un nuovo Thread per ogni utente...come nome gli setto quello della sessione.

    Io eseguo il login: Lanza88

    poi entra un altro utente ed esegue il login: Lanza89...

    Ci saranno così due Thread, Lanza88 e Lanza89 che vengono messi in pausa...io Lanza88 posso dire di far partire il thread Lanza89?Cioè posso far partire il thread a un altro utente che è collegato?
    Stai parlando di che tipo di applicazione? "web application" con JavaEE? Allora non dovresti proprio creare thread.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    24
    Una webapplication con gli ejb...mi servirebbero i thread per realizzare una specie di chat.Diciamo che avvertirei l'utente quando ha nuovi messaggi etc

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Lanza88
    Una webapplication con gli ejb...mi servirebbero i thread per realizzare una specie di chat.Diciamo che avvertirei l'utente quando ha nuovi messaggi etc
    Quindi c'è un "application server" e l'approccio di creare nuovi thread è da prendere con delle grosse "pinze".

    E comunque se è una web application, presumo (come è al 99% dei casi) che il client sia un "browser" (o in casi particolari una applet in una pagina o è una applicazione stand-alone), ma in ogni caso comunicazione su HTTP, quindi stateless, quindi non vedo a cosa ti servano i thread.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Questa funzionalità è effettivamente realizzabile con un approccio a "polling": periodicamente il client (tramite Ajax, ad esempio) fa una richiesta al server e si scarica eventuali messaggi che sono stati depositati per lui in un'area apposita (direi la session). Ne ho realizzato un prototipo giusto un mese fa, e ti assicuro che funziona.
    Vedo un'altra possibilità, ma non ho mai avuto modo di approfondirla: il client effettua una richiesta (sempre Ajax) e il server lo mette in attesa, non chiudendo la connessione. Non appena riceve un nuovo messaggio, il server completa la risposta e chiude. Il client riceve i dati e li visualizza, quindi effettua una nuova richiesta, ricominciando il ciclo.
    Quest'ultimo meccanismo è certamente più complesso da realizzare rispetto al primo e, ti ripeto, ci sono tutta una serie di questioni che devono essere analizzate prima di una eventuale implementazione.
    In ogni caso, sono dubbioso anche io sulla reale necessità di utilizzare i thread.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    24
    BHe volevo usare i Thread così evitavo l'aggiornamento periodico attraverso ajax. Insomma se devo vedere messaggi nuovi voglio appunto evitare che ogni tot secondi parte una richiesta ajax che fa una query e verifica la presenza di messaggi. Mentre con i Thread...potrei evitare questo. Se ricevo un messaggio nuovo l'utente mette in funzione il mio thread.

  7. #7
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Aspetta, forse non ti è chiara una cosa.
    Quando il servlet container riceve una richiesta da un client la gestisce tramite un thread (solitamente già allocato in un pool, così da evitare il sovraccarico dovuto a - frequenti - nuove istanziazioni): in questo modo può delegare ad esso le operazioni necessarie a generare la risposta e rimettersi in stato di attesa di nuove connessioni.
    Quindi - almeno in teoria - potrebbe anche non servirti un nuovo thread per notificare gli altri client: puoi benissimo utilizzare quello già avviato dal servlet container.
    Quello che intendi realizzare è di fatto una architettura peer-to-peer: il browser esegue le tipiche richieste HTTP comportandosi come client; quando però è il servlet container a dover notificare il browser, quest'ultimo di fatto deve comportarsi come un server.
    Thread o non thread, una cosa del genere è fattibile utilizzando (ovviamente sul browser) plugins come Flash e applet Java. Sono disposto a ricredermi (conosco Javascript, ma non ne padroneggio ogni aspetto), ma la stessa cosa con i soli HTML e Javascript io non l'ho mai sentita

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    24
    Ok grazie ^^

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.