Olá uma duvida
como poderia fazer para listar o que ficou na lista apos a thread executada…
pois o resultado abaixo mostra o readList() depois a thread…
gostaria que saisse assim :
true
false
false
mostra=Ozymandias2
mostra=Ozymandias3
mostra=Ozymandias4
mostra=Ozymandias5
mostra=Ozymandias6
mostra=Ozymandias7
mostra=Ozymandias8
mostra=Ozymandias9
mostra=Ozymandias10
mostra=Ozymandias11
mostra=Ozymandias12
se alguém puder me ajudar ....
abs
public class NameList1 {
public static void main(String[] args) {
final NameList n1 = new NameList();
n1.add("Ozymandias1");
n1.add("Ozymandias2");
n1.add("Ozymandias3");
n1.add("Ozymandias4");
n1.add("Ozymandias5");
n1.add("Ozymandias6");
n1.add("Ozymandias7");
n1.add("Ozymandias8");
n1.add("Ozymandias9");
n1.add("Ozymandias10");
n1.add("Ozymandias11");
n1.add("Ozymandias12");
class NameDropper extends Thread {
public void run() {
String name = n1.removeFirst("Ozymandias1");
System.out.println(name);
}
}
Thread t1 = new NameDropper();
Thread t2 = new NameDropper();
Thread t3 = new NameDropper();
t1.start();
t2.start();
t3.start();
n1.readLista();
}
}
resultado:
mostra=Ozymandias1
mostra=Ozymandias2
mostra=Ozymandias3
mostra=Ozymandias4
mostra=Ozymandias5
mostra=Ozymandias6
mostra=Ozymandias7
mostra=Ozymandias8
mostra=Ozymandias9
mostra=Ozymandias10
mostra=Ozymandias11
mostra=Ozymandias12
true
false
false
----
public class NameList {
private List names = Collections.synchronizedList(
new LinkedList());
public void add(String name) {
names.add(name);
}
public String removeFirst(String nome) {
if (names.size() > 0)
//return (String) names.remove(0);
return ""+names.remove(nome);
else
return null;
}
public void readLista(){
for (Object s : names) {
System.out.println("mostra="+(String)s);
}
}
public static void main (String[] args){
NameList n = new NameList();
n.add("Paulo");
n.add("Cristina");
n.add("Pai");
n.add("mãe");
n.add("Thais");
n.add("Paula");
System.out.println("*****Lendo*****");
n.readLista();
String remove =n.removeFirst("Pai");
System.out.println("Valor da remoção="+remove);
System.out.println("*****Lendo*****");
n.readLista();
}
}