Я работаю над Распределенной системой , в настоящее время это скорее клиент-серверное приложение, так как мне не хватает ключевой части, которая делает его распределенной системой.Я не знаю, как реализовать мой клиентский поток classs c_thread , чтобы передать «сообщение» всем рабочим потокам w_thread , которые работают.
import java.net.*;
import java.io.*;
public class w_thread extends Thread {
private Socket socket = null;
private tracker track = null;
private int tID;
//Constructor method
public w_thread(tracker t, Socket s) {
super("w_thread");
this.track = t;
this.socket = s;
tID = track.add();
}
public void run() {
try {
String inputLine, outputLine;
PrintWriter worker_out;
BufferedReader worker_in;
//set up IO to worker
worker_out = new PrintWriter(socket.getOutputStream(), true);
worker_in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
//Get inputLine from c_thread?
//...
/*
worker_out.close();
worker_in.close();
socket.close();
*/
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.net.*;
import java.io.*;
public class c_thread extends Thread {
private Socket socket = null;
private tracker track = null;
//Constructor method
public c_thread(tracker t, Socket s) {
super("c_thread");
this.track = t;
this.socket = s;
}
public void run() {
try {
String inputLine, outputLine;
PrintWriter client_out;
BufferedReader client_in;
//set up IO to client
client_out = new PrintWriter(socket.getOutputStream(), true);
client_in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
inputLine = client_in.readLine();
if (track.numOfConnections() == 0) {
outputLine = "No resources available!";
}
else {
//send inputline to all w_threads
outputLine = "Resources was available!";
}
client_out.println(outputLine);
/*
client_out.close();
client_in.close();
//close connection
socket.close();
*/
} catch (IOException e) {
e.printStackTrace();
}
}
}
Мой предыдущий вопрос описывает, что я пытаюсь реализовать: Распределенная система