нужно что-то похожее на java's LinkedBlockingQueue
.
интересующий метод:messageQueue.poll(120000, TimeUnit.MILLISECONDS);
означает..попытаться получить предмет..и если в единицу времени X у вас все еще нет предмета..возвратить ноль
это + i должно быть FIFO
после немного погуглил (, но еще не тестировал ):я обнаружил, что ConcurrentQueue (имеет поведение FIFO ), BlockingCollection (FiFO ИЛИ нет FIFO??)