Visualizzazione dei risultati da 1 a 8 su 8

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    35
    Scusate, ho fatto qualche ricerchina, ma non essendo troppo ferrato in java non ho trovato il modo per attuare la vostra. Sia questo il codice:

    codice:
    ArrayList<String> A = new ArrayList<String>();
    		ArrayList<String> B = new ArrayList<String>();
    
    
    		UDPServer server = new UDPServer();
    		Thread t = new Thread(server);
    		t.start();
    		while(t.isAlive()==true){
    			
    			if (A.contains(UDPServer.sentence) == false && UDPServer.sentence != null)
    				{
    					System.out.println("ADDED: \n" + UDPServer.sentence);
    					A.add(UDPServer.sentence);
    				}	
    				System.out.println("Check -------------");
    				for (int i=0; i< A.size() ; i++)
    				{
    					System.out.println(A.get(i));
    				}
    
    
    				try {
    			Thread.sleep(5000);
    		} catch (InterruptedException e) {
    			e.printStackTrace();
    		}
    La classe udp server ovviamente non è da spiegare. Creo un thread ed ogni volta che arriva un indirizzo una stringa viene aggiunta alla lista e finisce qui. Ora come dovrei modificarlo per funzionare come avete consigliato? Grazie!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Espyos Visualizza il messaggio
    La classe udp server ovviamente non è da spiegare.
    Ma è sicuramente molto "dubbia". Quel sentence, per quanto si può intuire dal codice, è sicuramente un campo static. E già qui è un male ...
    Ma non è tutto: UDPServer è sicuramente un Runnable (lo passi al costruttore di Thread). Questo vuol dire che dentro UDPServer "girerà" del codice in un thread differente da quello che esegue il codice che hai postato. E vedendo l'uso diretto di quel campo static, vuol anche dire che, molto probabilmente, non hai nemmeno considerato le questioni relative alla sincronizzazione e "visibilità" delle modifiche tra i thread.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2026 vBulletin Solutions, Inc. All rights reserved.