java如何更新被其他线程更改的类中的数组?
我遇到了一个问题,当我在一个类中创建一个线程(其他类的线程)时,它将该类的一个数组作为其构造函数的参数,然后在其run()函数中对其进行更改。如何更新创建线程的类中的数组(即更新线程所做的更改)
// public serverInit()
public connection[] myservers;
public void Threads()
{
Thread accept=new Acception(myservers);
accept.start();
}
// public class Acception extends Thread
public void run()
{
try
{
while(true)
{
client = server.accept();
if(client.isConnected())
{
for(int i=0;i<totalServers;i++)
{
String[] info=client.getInetAddress().toString().split(":");
if(info[0].compareToIgnoreCase(myservers[i].getIp())==0)
{
myservers[i].setStatus("Active");
System.out.println("Request Received From server : " +
client.getRemoteSocketAddress());
Thread work=new server(client);
work.start();
break;
}
}
}
}
}
catch(Exception e)
{
System.out.println("Connection with
"+client.getInetAddress().toString()+" failed :-(");
}
}
共 (0) 个答案