}
if (System.getProperty("DEBUG") != null) {
DEBUG = true;
}
if (System.getProperty("KILL") != null) {
KILL = true;
}
System.out.println("Server(port: " + port +
" delay: " + delay + "ms spin: " + spin +
"us nConsumers: " + nConsumers + " stopperTimeout " +
stopperTimeout + "s)");
if (KILL) {
new Thread(new Killer(120)).start();
}
server.runServer();
}
public void runServer() {
// Executes in main thread
Socket
socket;
Workpile workpile = new Workpile(MAX_LENGTH);
try {
serverSocket = new ServerSocket(port);
System.out.println("Server now listening on port " +
port);
for (int i = 1; i < nConsumers; i++) {
Thread t = new Thread(new Consumer(workpile));
t.start();
}
while (true) {
socket = serverSocket.accept();
Client client = new Client(socket);
Thread t = new Thread(new Producer(workpile, client));
t.start();
System.out.println("Server[" + t.getName() +
"]\tStarted new client: " + client);
}
} catch (IOException e) {
// Log failure, then ignore
it.
System.out.println("Cannot get I/O streams in new
Client()" + e);
}
}
public Server() {
}
}
//
ServerProducerConsumer/Client.java
import java.io.*;
import java.net.*;
Search WWH :
Custom Search
Previous Page
Multithreaded Programming with JAVA - Topic Index
Next Page
Multithreaded Programming with JAVA - Bookmarks
Home