Вопросы с тегом «concurrency»

128
Как асинхронно вызвать метод в Java

В последнее время я смотрел горутины Go и подумал, что было бы неплохо иметь что-то подобное в Java. Насколько я искал, обычный способ распараллеливания вызова метода - это сделать что-то вроде: final String x = "somethingelse"; new Thread(new Runnable() { public void run() {...

127
Невозможно создать пул кэшированных потоков с ограничением размера?

Кажется, невозможно создать пул кэшированных потоков с ограничением количества потоков, которые он может создать. Вот как статический Executors.newCachedThreadPool реализован в стандартной библиотеке Java: public static ExecutorService newCachedThreadPool() { return new ThreadPoolExecutor(0,...

118
Как использовать свойство CancellationToken?

По сравнению с предыдущим кодом для класса RulyCanceler я хотел запустить код с использованием CancellationTokenSource. Как использовать его, как указано в разделе «Токены отмены» , то есть без генерации / перехвата исключения? Могу ли я использовать IsCancellationRequestedнедвижимость? Я пытался...

117
Параллельные и последовательные очереди в GCD

Я изо всех сил пытаюсь полностью понять параллельные и последовательные очереди в GCD. У меня есть некоторые проблемы, и я надеюсь, что кто-нибудь ответит мне четко и по существу. Я читаю, что последовательные очереди создаются и используются для выполнения задач одну за другой. Однако что...

116
AtomicInteger lazySet против набора

В чем разница между методами lazySetи ? В документации нечего сказать :setAtomicIntegerlazySet В конце концов устанавливается на заданное значение. Кажется, что сохраненное значение не будет сразу установлено на желаемое значение, а вместо этого будет запланировано установить какое-то время в...

112
LinkedBlockingQueue против ConcurrentLinkedQueue

Мой вопрос относится к заданному ранее вопросу . В ситуациях, когда я использую очередь для связи между потоками производителя и потребителя, люди обычно рекомендуют использовать LinkedBlockingQueueили ConcurrentLinkedQueue? Каковы преимущества / недостатки использования одного над другим? Основное...

111
Что лучше для параллельных задач на node.js? Волокна? Веб-работники? или темы?

Некоторое время назад я наткнулся на node.js, и он мне очень понравился. Но вскоре я обнаружил, что ему сильно не хватало способности выполнять задачи с интенсивным использованием процессора. Итак, я начал поискать в Google и получил следующие ответы для решения проблемы: волокна, веб-воркеры и...

111
Неустойчивый дорогой?

Прочитав «Поваренную книгу JSR-133 для разработчиков компиляторов» о реализации volatile, особенно в разделе «Взаимодействие с атомарными командами», я предполагаю, что для чтения изменчивой переменной без ее обновления требуется барьер LoadLoad или LoadStore. Далее по странице я вижу, что LoadLoad...

102
Как сделать блок метода ThreadPoolExecutor submit (), если он насыщен?

Я хочу создать ThreadPoolExecutorтакой, чтобы при достижении максимального размера и заполнении очереди submit()метод блокировался при попытке добавить новые задачи. Нужно ли мне реализовать RejectedExecutionHandlerдля этого индивидуальный заказ или есть способ сделать это с помощью стандартной...

100
Выбор лучшего списка параллелизма в Java [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт 1 год назад . Уточните этот вопрос В моем пуле потоков есть фиксированное...

97
Почему i ++ не является атомарным?

Почему i++в Java не является атомарным? Чтобы немного углубиться в Java, я попытался подсчитать, как часто выполняется цикл в потоках. Так что я использовал private static int total = 0; в основном классе. У меня две темы. Тема 1: Печать System.out.println("Hello from Thread 1!"); Тема 2: Печать...

97
Как использовать ConcurrentLinkedQueue?

Как использовать ConcurrentLinkedQueueв Java? Используя это LinkedQueue, мне нужно беспокоиться о параллельности в очереди? Или мне просто нужно определить два метода (один для извлечения элементов из списка, а другой для добавления элементов в список)? Примечание: очевидно, что эти два метода...

95
CountDownLatch против семафора

Есть ли преимущество в использовании java.util.concurrent.CountdownLatch вместо того java.util.concurrent.Semaphore ? Насколько я могу судить, следующие фрагменты практически эквивалентны: 1. Семафор final Semaphore sem = new Semaphore(0); for (int i = 0; i < num_threads; ++ i) { Thread t = new...

95
ExecutorService, который прерывает задачи после тайм-аута

Я ищу реализацию ExecutorService, которая может быть предоставлена ​​с таймаутом. Задачи, которые отправляются в ExecutorService, прерываются, если для их выполнения требуется больше времени, чем время ожидания. Реализовать такого зверя - не такая уж сложная задача, но мне интересно, знает ли...