Я получаю данные с сервера очереди, и мне нужно обработать его и отправить подтверждение. Что-то вроде этого:
while (true) {
queueserver.get.data
ThreadPoolExecutor //send data to thread
queueserver.acknowledgement
Я не совсем понимаю, что происходит в потоках, но я думаю, что эта программа получает данные, отправляет им поток и сразу же подтверждает это. Поэтому, даже если у меня есть предел каждой очереди, у вас может быть только 200 неподтвержденных предметов, она будет просто тянуть так же быстро, как она может ее получить. Это хорошо, когда я пишу программу на одном сервере, но если я использую несколько рабочих, это становится проблемой, потому что количество элементов в очереди потоков не является отражением выполненной работы, а вместо того, насколько быстро может получать элементы из сервера очереди.
Есть ли что-нибудь, что я могу сделать, чтобы заставить программу ждать, если очередь потоков заполнена?