Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Erro no código

import java.util.ArrayList;
import java.util.List;

public class Principal {

    public static void main(String[] args) throws InterruptedException {

        List<String> lista = new ArrayList<String>();


        for (int i = 0; i < 10; i++) {
            new Thread(new TarefaAdicionarElemento(lista, i)).start();
        }

        Thread.sleep(2000);

        for (int i = 0; i < lista.size(); i++) {
            System.out.println(i + " - " + lista.get(i));
        }
    }
}

Erro em "TarefaAdicionarElemento", não consegu'identificar o porquê! Alguém me ajuda?

1 resposta
solução

Oi MARCONI

O código enviado está correto. Porém, como está seu TarefaAdicionarElemento.java ?

Deveria ser assim:

public class TarefaAdicionarElemento implements Runnable {

    private List<String> lista;
    private int numeroDoThread;

    public TarefaAdicionarElemento(List<String> lista, int numeroDoThread) {
        this.lista = lista;
        this.numeroDoThread = numeroDoThread;
    }

    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            lista.add("Thread " + numeroDoThread + " - " + i);
        }
    }
}

Qual erro você está tendo, tem alguma mensagem ou stack de erro no console?