Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Multithreading Java

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    10

    Multithreading Java

    Salve ragazzi qualcuno sa dirmi perchè non parte questo programma, sono alle prime armi con Java e non riesco a capire come fare per farlo partire :S

    codice:
    import java.util.*;
    public class ContenitoreThread {
    	public static void main(String args[]){
    		
    		Contenitore C = null;
    		C.insert("T1");
    		C.start();
    	}
    
    public class Contenitore{
    	
    	private ArrayList<MyThread> C = new ArrayList<MyThread>();
    	public void insert(String N){
    	MyThread M = new MyThread(N);
    	C.add(M);
    	}
    	public void start(){
    	       for(int i = 0;i<C.size();i++)
    			C.get(i).start();
    	}
    	
    	public void join(){
    		for(int i = 0;i<C.size();i++)
    			try{
    				C.get(i).join();
    			}catch(InterruptedException e)
    			{System.out.println("Error");}
    	}
    	
    	public void interrupt(){
    		for(int i = 0;i<C.size();i++)
    			C.get(i).interrupt();
    	}
    						}
    
    }
    codice:
    public class MyThread  extends Thread{
    	private String Nome;
    	public MyThread(String S) {
    		Nome = S;
    	}
    	public void run(){	
    		System.out.println(Nome + "Iniziato");
    		try{
    			Thread.sleep(2000);
    		}catch(InterruptedException e)
    		{System.out.println(Nome + "Interrotto");}
    		System.out.println(Nome + "Terminato");
    		
    	}
    	
    }
    L'errore è il seguente:

    Exception in thread "main" java.lang.NullPointerException
    at ContenitoreThread.main(ContenitoreThread.java:6)

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Java viene trattato nel forum... Java.

    Sposto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    codice:
    Contenitore C = null;
    		C.insert("T1");
    Sfido che ti dia NPE...

    C = null e poi invochi su di esso un metodo.

    Prova così:

    codice:
    Contenitore C = new Contenitore(); //costruttore di default
    		C.insert("T1");
    Comunque, ti viene riportata la riga dell'errore (la 6).

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    10
    Originariamente inviato da ragnonerodocet


    Prova così:

    codice:
    Contenitore C = new Contenitore(); //costruttore di default
    		C.insert("T1");
    Comunque, ti viene riportata la riga dell'errore (la 6).

    Grazie mille era proprio questo l'errore banale =)

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.