I have a main for-loop that sends out requests to an external system. The external system might take a few seconds or even minutes to respond back.  

Also, if the number of requests reaches the MAX\_REQUESTS, the current for-loop should SLEEP for a few seconds.

This is my scenario. Lets say the main for-loop goes to sleep say for 5 seconds because it has reached the MAX\_REQUESTS. Then say a previous external requests comes back returns from callExternalSystem(). What will happen to the main for-loop Thread that is currently on the SLEEP state? Will it be interrupted and continue processing or continue to SLEEP?

```
for(...){
  ...
  while(numRequestsProcessing > MAX_REQUESTS){
     Thread.sleep(SLEEP_TIME);
  }
  ...
 callExternalSystem();

}

```

Thanks in advance.