package javathreads.examples.ch15;
import java.util.*;
import java.io.*;
// Non-thread-safe version of a loop printer
public class LoopPrinterUnsafe {
private Vector pStorage[];
public LoopPrinterUnsafe(int size) {
pStorage = new Vector[size];
}
public void print(int index, Object obj) {
if (pStorage[index] == null) {
pStorage[index] = new Vector();
}
pStorage[index].addElement(obj.toString());
}
public void println(int index, Object obj) {
print(index, obj);
print(index, "\n");
}
public void send2stream(PrintStream ps) {
for (int i = 0; i < pStorage.length; i++) {
if (pStorage[i] != null) {
Enumeration e = pStorage[i].elements();
while (e.hasMoreElements()) {
ps.print(e.nextElement());
}
}
}
}
}
|