我想要一个线程来更新其他类中的变量。
说,我有一个整数和一个线程类,它有一个 Socket 获取一个值,我希望将该值设置为我的整数。
我有一个名为 direction 的枚举,它的值是 UP,DOWN 我有一个主类,它有一个方向变量在那个主类中,我正在启动一个线程,其中有一个套接字,线程看起来像:
import java.io.DataInputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server extends Thread {
private ServerSocket serverSocket;
DataInputStream in;
volatile direction dir;
public Server(int port,direction d) throws IOException {
serverSocket = new ServerSocket(port);
Socket server = serverSocket.accept();
in = new DataInputStream(server.getInputStream());
dir=d;
}
public void run() {
int recieved;
while (true) {
try {
recieved = in.readInt();
while (recieved != -1) {
dir = direction.fromInt(recieved);
recieved = in.readInt();
System.out.println(dir);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public direction getDirection() {
return dir;
}
}
我希望主类中的方向变量从线程类更新