Вопросы по теме 'blockingqueue'
Java: производитель / потребитель, использующий BlockingQueue: ожидание потока-потребителя () до тех пор, пока другой объект не будет поставлен в очередь
Недавно у меня возникли проблемы, связанные с потоками, с потребителем, который берет баллы. Вот оригинал, который отлично работает, за исключением того, что занимает много процессора, постоянно проверяя очередь. Идея состоит в том, что cuePoint...
4966 просмотров
schedule
21.09.2021
Как правильно использовать java-уведомление при реализации блокировки очереди
Я пытаюсь понять многопоточные конструкции Java, и я пытаюсь написать простую реализацию блокировки очереди. Вот код, который я написал:
class BlockingBoundedQueue<E>
{
@SuppressWarnings("unchecked")...
4748 просмотров
schedule
06.10.2021
ExecutorService против ThreadPoolExecutor с использованием LinkedBlockingQueue
Я работаю над многопоточным проектом, в котором мне нужно создать несколько потоков для измерения сквозной производительности моего клиентского кода, поскольку я выполняю тестирование нагрузки и производительности. Итак, я создал приведенный ниже...
47172 просмотров
schedule
18.11.2021
Как corePoolSize = 0 работает для ThreadPoolExecutor?
Определение ExecutorService.newCachedThreadPool() :
public static ExecutorService newCachedThreadPool(ThreadFactory threadFactory) {
return new ThreadPoolExecutor(0, Integer.MAX_VALUE,
60L, TimeUnit.SECONDS,...
679 просмотров
schedule
07.09.2021
Изменяемая очередь блокировки Java
Поэтому я использую BlockingQueue фиксированного размера [ArrayBlockingQueue] в приложении типа производитель/потребитель, но я хочу, чтобы пользователь мог изменять размер очереди на лету. Проблема в том, что нет реализации BlockingQueue,...
4335 просмотров
schedule
23.03.2022
Как возобновить мой поток, который находится в процессе блокировки из-за linkedBlockingQueue.take()
У меня есть поток-производитель, который будет продолжать вставлять значения в linkedBlockingQueue и иметь несколько потоков-потребителей, которые одновременно будут принимать() из этой linkedBlockingQueue. Мое условие для них, чтобы они продолжали...
59 просмотров
schedule
08.04.2022
Обработка DispatchGroup [слабая самооценка] во вложенном уведомлении
У меня две асинхронные функции. Мне нужно запустить вторую функцию на основе первого вывода и запустить третью функцию после завершения второй. Я сделал это вот так. Это правильный способ сериализации? И как справиться со слабой ссылкой на себя?...
1194 просмотров
schedule
30.04.2022
Почему ArrayBlockingQueue не блокируется, когда очередь заполнена
У меня есть простой тест для ArrayBlockingQueue, как показано ниже:
public class TestQueue {
static class Producer implements Runnable {
private ArrayBlockingQueue<Integer> queue;
private int index;
public...
55 просмотров
schedule
07.05.2022
BlockingQueue и putAll
Кто-нибудь знает, почему у java BlockingQueue нет метода putAll? Есть ли проблема с таким методом? Есть ли хорошие способы обойти эту проблему без необходимости полностью повторно реализовывать BlockingQueue?
684 просмотров
schedule
20.06.2022
Java BlockingQueue take() против poll()
При потреблении значений из очереди в бесконечном цикле - что было бы более эффективно:
1) Блокировка в очереди до тех пор, пока значение не будет доступно через take()
while (value = queue.take()) { doSomething(value); }
2) Сон в течение...
36820 просмотров
schedule
30.07.2022
Действительно ли Boost_lockFree_SPSC_queue имеет переменный размер и не теряет данных?
Привет, я планировал использовать очередь Boost SPSC. У меня должен быть прослушиватель, который всегда прослушивает входящие сообщения, как только он получит, он поместит сообщение в очередь и вернется, чтобы снова дождаться новых сообщений. И есть...
253 просмотров
schedule
08.08.2022
BlockingQueue - один производитель несколько потребителей
У меня три потока. Поток 1 (T1) - производитель, который генерирует данные. Каждый из потоков 2 и 3 (T2, T3 соответственно) ожидает обработки данных T1 в отдельных циклах. Я думаю о том, чтобы разделить BlockingQueue между потоками и заставить T2 и...
800 просмотров
schedule
13.08.2022
Есть ли способ заставить ros::spinOnce() вызывать определенное количество обратных вызовов из очереди обратных вызовов?
Я пишу программу в ROS, которая должна выполнять определенные вычисления после каждой функции обратного вызова. Моя функция обратного вызова в основном подписывается на тему и устанавливает значение переменной, которая используется для выполнения...
1615 просмотров
schedule
29.09.2022
ScheduledExecutorService с переменной задержкой
Предположим, у меня есть задача, которая извлекает элементы из java.util.concurrent.BlockingQueue и обрабатывает их.
public void scheduleTask(int delay, TimeUnit timeUnit)
{
scheduledExecutorService.scheduleWithFixedDelay(new Task(queue), 0,...
16395 просмотров
schedule
29.08.2023
Декоратор BlockingQueue, регистрирующий удаленные объекты
У меня есть BlockingQueue реализация, которая используется в ситуации производитель-потребитель. Я хотел бы украсить эту очередь, чтобы каждый объект, взятый из нее, регистрировался. Я знаю, как будет выглядеть простая реализация: просто...
252 просмотров
schedule
03.01.2023
Сомнения в коде многопоточности с использованием ArrayBlockingQueue и мьютекса
Я пытаюсь написать многопоточный код. А если серьезно, я не могу понять, с чего начать. У меня тоже голова раскалывается. Пожалуйста помогите.
Моя задача
Существует одна очередь длины 1, известная как pending_tasks , которая содержит...
282 просмотров
schedule
08.10.2023
Потоки Android с очередью против Handler/Looper: какой из них эффективнее?
У меня есть ситуация производитель-потребитель, когда я хочу выбрать между двумя механизмами для ее реализации. Это случай аудиозаписи/кодирования: производитель постоянно опрашивает микрофон устройства на наличие записанного звука и, когда доступен...
1074 просмотров
schedule
22.03.2023
Структура данных для буферизации закодированного звука в Android
У меня есть TCP-клиент, который получает аудио (закодированные) данные через сокет. Я должен хранить полученные данные в каком-то буфере и предоставлять декодеру по запросу декодера по частям. Данные представлены в формате byte[], а размер массива...
315 просмотров
schedule
31.03.2023
ArrayBlockingQueue: одновременная установка и получение
Почему ABQ не был реализован способом LinkedBlockingQueue. Мы можем использовать AtomicInteger, чтобы отслеживать количество треков в ABQ так же, как это делает LBQ. Мы также можем использовать Два Замка для ABQ. Я натыкаюсь на аналогичный вопрос...
2309 просмотров
schedule
05.01.2023
Как удалить элементы из очереди в Java с помощью цикла
У меня есть такая структура данных:
Почтовый ящик BlockingQueue = new LinkedBlockingQueue();
Я пытаюсь сделать это:
for(Mail mail: mailbox)
{
if(badNews(mail))
{
mailbox.remove(mail);
}
}
Очевидно, что...
26735 просмотров
schedule
01.05.2023