Я должен был реализовать нечто подобное некоторое время назад, вот что я сделал, вот основной пример кода.Вы можете найти полный класс Здесь .
Вот основы того, что вам нужно сделать,
вам нужна очередь, вы можете использовать любую структуру данных списка длясохраняйте свою очередь, вам нужен наблюдатель файлов для добавления новых элементов в эту очередь.
вам нужен другой метод, который обрабатывает очередь, что-то вроде этого.(это будет обрабатывать элемент в очереди до тех пор, пока очередь не будет пустой)чтобы понять это, вы можете либо использовать установленную вами переменную-флаг, либо, если у вас есть экземпляр процесса, вы можете проверить его состояние.