reading from 4 SoftwareSerials one after another

Hey everybody,

I tried to connect 4 Sensors via SoftwareSerial to my Arduino Micro.
The Sensors send their data once every second. It's not critical for me that every data arrives correctly, but maybe 50% would be great. I now read Signals from 2 Sensors without any Problems, but as soon as I try to implement the 3rd one i don't get any Signal from from it (code below). The Sensors are connected to Pins (RX) 8, 9, 10, 11. I succesfully tested these for a single SoftwareSerial.
Do you have any suggestions why this happens? Or how to solve it?

Thanks in advance for your help

sensor01receive = true;

//reading sensor01
if (sensor01receive) {
    //
    if (!Sensor01.isListening()) {
      Sensor01.listen();
    }
    if (Sensor01.available() > 0) {
      captureData(Sensor01);
      sensor01receive = false;
      sensor02receive = true;
      sensor03receive = false;
    }
  }
//reading sensor02
if (sensor02receive) {
    if (!Sensor02.isListening()) {
      Sensor02.listen();
    }
    if (Sensor02.available() > 0) {
      captureData(Sensor02);
      sensor01receive = false;
      sensor02receive = false;
      sensor03receive = true;
    }
  }
//reading sensor03
if (sensor03receive) {
    if (!Sensor03.isListening()) {
      Sensor03.listen();
    }
    if (Sensor03.available() > 0) {
      captureData(Sensor03);
      sensor01receive = true;
      sensor02receive = false;
      sensor03receive = false; 
    }
  }

Perhaps there's something wrong with your code. However, that snippet isn't enough to show what you've done wrong. Please post a complete sketch that demonstrates the problem. If your sketch includes a lot of code not relevant to the problem I suggest you create a minimal sketch that demonstrates the problem in the simplest way you can think of. Quite often, just creating that will enable you to solve the problem for yourself. Even if it doesn't, you've still reduced the amount of code we need to wade through to understand your problem.

Suggest you use a Mega it has 4 Uarts..

This explains much of it:
http://forum.arduino.cc/index.php?topic=11869.msg90766#msg90766

The Arduino only has 1 interrupt flag, so if an interrupt comes in during an ISR where interrupts were disabled, the next interrupt that gets serviced after the interrupts are enabled will be priority-based. Add to that the fact that every instance of SoftwareSerial creates a receive buffer...