有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案