Чтобы достичь этого, используйте глобальную переменную в качестве списка, поскольку ваш поток сможет получить доступ к данным из нее. Вы можете использовать деку из библиотеки коллекций, и каждый раз, когда вы добавляете что-то в очередь, вы порождаете новый поток, который просто появляется с фронта после ожидания установленного количества времени.
Хотя вы должны быть осторожны с условиями гонки. Может случиться так, что вы попытаетесь что-то написать с одного конца в вашем основном потоке и в то же время удалить что-то с самого начала в одном из ваших новых потоков, и это приведет к неожиданному поведению.
Лучший способ избежать это с помощью блокировки.