Używaj wątków do przetwarzania porcji plików przez porcję

Mam arraylistę, która składa się z 5000 adresów IP. Dla każdego adresu IP chcę wykonać żądanie SNMPGet i polecenie FTPDownload. Chcę go zaimplementować w sposób, w którym jednocześnie w tym samym czasie działają dwa różne wątki dla pierwszych pięciu adresów IP. Po wykonaniu tych adresów IP, następne 2 adresy IP zostaną wykonane na tych wątkach. Czy ktoś może pomóc, jak to zrobić?

W tym przypadku połączenie jest klasą, która rozszerza wątek, a praca, która ma zostać zaimplementowana, jest zapisywana w metodzie run (). Proszę pomóż.

Connection newConnection =new Connection(0);
Connection newConnection1 =new Connection(1);

for(int i = 0; i < NE_list.getRowCount(); i=i+2)
{
if(NE_list.getValueAt(i, 0).toString().equals("true")) //Some condition here for the IP Address
{

            newConnection.i=i;
            newConnection1.i=i+1;
            newConnection.runprogram();
            newConnection1.runprogram();
 }


    } 

class Connection extends Thread{
int  i;
Connection(int val){
  i=val;
}
void runprogram(){
start();
}
public void run(){
//SNMP and FTP Code here for IP Address in index i of NE_list
}
}

questionAnswers(2)

yourAnswerToTheQuestion