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

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

14
Параллелизм Java: защелка обратного отсчета против циклического барьера
Я читал через API java.util.concurrent и обнаружил, что CountDownLatch: Средство синхронизации, позволяющее одному или нескольким потокам дождаться завершения набора операций, выполняемых в других потоках. CyclicBarrier: Средство синхронизации, которое позволяет всем потокам ожидать друг друга, чтобы достичь общей барьерной точки. Мне обоим кажется равным, но я уверен, что это намного больше. …

17
Что такое тупик?
При написании многопоточных приложений одной из наиболее распространенных проблем являются взаимоблокировки. Мои вопросы к сообществу: Что такое тупик? Как вы их обнаруживаете? Вы справляетесь с ними? И, наконец, как вы предотвращаете их появление?

5
Итерация значений ConcurrentHashMap потокобезопасна?
В javadoc для ConcurrentHashMap есть следующее: Операции извлечения (включая get) обычно не блокируются, поэтому могут перекрываться с операциями обновления (включая put и remove). Извлечения отражают результаты самых последних завершенных операций обновления, проводимых с момента их появления. Для агрегатных операций, таких как putAll и clear, одновременный поиск может отражать вставку или …

3
Безопасно ли использовать HttpClient одновременно?
Во всех примерах, которые я могу найти HttpClient, он используется для разовых вызовов. Но что, если у меня постоянная клиентская ситуация, когда несколько запросов могут быть сделаны одновременно? В принципе, безопасно ли вызывать client.PostAsync2 потока одновременно против одного и того же экземпляра HttpClient. Я не очень ищу экспериментальные результаты здесь. …

6
iPhone - главная тема Grand Central Dispatch
Я успешно использовал грандиозную центральную диспетчеризацию в своих приложениях, но мне было интересно, каково реальное преимущество использования чего-то подобного: dispatch_async(dispatch_get_main_queue(), ^{ ... do stuff или даже dispatch_sync(dispatch_get_main_queue(), ^{ ... do stuff Я имею в виду, что в обоих случаях вы запускаете блок, который будет выполняться в главном потоке, именно там, …

5
Являются ли несинхронизированные статические методы потокобезопасными, если они не изменяют статические переменные класса?
Мне было интересно, если у вас есть статический метод, который не синхронизируется, но не изменяет статические переменные, это потокобезопасно? А что, если метод создает локальные переменные внутри него? Например, является ли следующий код потокобезопасным? public static String[] makeStringArray( String a, String b ){ return new String[]{ a, b }; } …

12
Безопасно ли получать значения из java.util.HashMap из нескольких потоков (без изменений)?
Есть случай, когда карта будет построена, и после инициализации она больше никогда не будет изменена. Однако к нему можно будет получить доступ (только с помощью get (key)) из нескольких потоков. Насколько безопасно использовать java.util.HashMapтакой способ? (В настоящее время я с удовольствием использую a java.util.concurrent.ConcurrentHashMap, и у меня нет никакой потребности …

4
Гринлет против. Потоки
Я новичок в gevents и greenlets. Я нашел хорошую документацию о том, как с ними работать, но ни одна из них не дала мне обоснования того, как и когда мне следует использовать гринлеты! В чем они действительно хороши? Стоит ли использовать их в прокси-сервере или нет? Почему не темы? Я …

10
Хороший пример лайвлока?
Я понимаю, что такое livelock, но мне было интересно, есть ли у кого-нибудь хороший пример этого кода? И под «основанным на коде» я не имею в виду «двух людей, пытающихся обойти друг друга в коридоре». Если я прочитаю это снова, то потеряю обед.

4
Различные типы поточно-безопасных наборов в Java
Кажется, есть много разных реализаций и способов генерирования потоковобезопасных наборов в Java. Некоторые примеры включают 1) CopyOnWriteArraySet 2) Collections.synchronizedSet (Set set) 3) ConcurrentSkipListSet 4) Collections.newSetFromMap (новый ConcurrentHashMap ()) 5) Другие множества, сгенерированные способом, аналогичным (4) Эти примеры взяты из шаблона параллелизма: реализации параллельного набора в Java 6 Может ли кто-нибудь …
135 java  concurrency  set 


4
Какой алгоритм параллельной сортировки имеет лучшую среднюю производительность?
Сортировка занимает O (n log n) в последовательном случае. Если у нас будет O (n) процессоров, мы будем надеяться на линейное ускорение. O (log n) параллельных алгоритмов существуют, но они имеют очень высокую константу. Они также не применимы к обычному оборудованию, у которого нет даже около O (n) процессоров. С …

6
Какую реализацию параллельной очереди следует использовать в Java?
Из JavaDocs: ConcurrentLinkedQueue является подходящим выбором , когда много потоков будет общий доступ к общей коллекции. Эта очередь не допускает пустых элементов. ArrayBlockingQueue - это классический «ограниченный буфер», в котором массив фиксированного размера содержит элементы, вставленные производителями и извлеченные потребителями. Этот класс поддерживает необязательную политику справедливости для упорядочивания ожидающих потоков …

8
.NET - блокировка словаря против ConcurrentDictionary
Я не смог найти достаточно информации о ConcurrentDictionaryтипах, поэтому решил спросить об этом здесь. В настоящее время я использую Dictionaryдля хранения всех пользователей, к которым постоянно обращаются несколько потоков (из пула потоков, поэтому точное количество потоков отсутствует), и у него есть синхронизированный доступ. Недавно я узнал, что в .NET 4.0 …

5
Когда использовать volatile с многопоточностью?
Если есть два потока, обращающихся к глобальной переменной, то во многих руководствах говорится, что переменная должна быть изменчивой, чтобы компилятор не кэшировал переменную в регистре и, таким образом, не обновлялся правильно. Однако два потока, оба обращающиеся к общей переменной, - это то, что требует защиты через мьютекс, не так ли? …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.