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

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

983
Что такое состояние гонки?

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

911
Коллекция была изменена; операция перечисления может не выполняться

Я не могу докопаться до этой ошибки, потому что, когда отладчик подключен, кажется, что это не происходит. Ниже приведен код. Это сервер WCF в службе Windows. Метод NotifySubscribeers вызывается службой всякий раз, когда происходит событие данных (через случайные интервалы, но не очень часто -...

655
Что такое мьютекс?

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

611
JavaScript гарантированно будет однопоточным?

Известно, что JavaScript является однопоточным во всех современных реализациях браузеров, но указано ли это в каком-либо стандарте или это просто по традиции? Совершенно безопасно предположить, что JavaScript всегда...

607
В чем разница между ConcurrentHashMap и Collections.synchronizedMap (Map)?

У меня есть карта, которая должна быть изменена несколькими потоками одновременно. Кажется, в Java API есть три разные реализации синхронизированных карт: Hashtable Collections.synchronizedMap(Map) ConcurrentHashMap Насколько я понимаю, Hashtableэто старая реализация (расширяющая устаревший...

538
Почему нет ConcurrentHashSet против ConcurrentHashMap

HashSet основан на HashMap. Если мы посмотрим на HashSet<E>реализацию, все было под управлением HashMap<E,Object>. <E>используется в качестве ключа HashMap. И мы знаем, что HashMapэто не потокобезопасно. Вот почему у нас ConcurrentHashMapв Java. Исходя из этого, я запутался, что...

465
NSOperation vs Grand Central Dispatch

Я изучаю параллельное программирование для iOS. До сих пор я читал о NSOperation/NSOperationQueue и GCD. Каковы причины использования NSOperationQueueснова GCDи наоборот? Звучит как и то, GCDи другое, NSOperationQueueабстрагируясь от явного создания NSThreadsпользователя. Однако связь между этими...

398
Пользовательский пул потоков в параллельном потоке Java 8

Можно ли указать пользовательский пул потоков для параллельного потока Java 8 ? Я не могу найти это нигде. Представьте, что у меня есть серверное приложение, и я хотел бы использовать параллельные потоки. Но приложение большое и многопоточное, поэтому я хочу разделить его. Я не хочу медленное...

381
Как ждать завершения всех потоков, используя ExecutorService?

Мне нужно выполнить некоторое количество задач 4 за один раз, что-то вроде этого: ExecutorService taskExecutor = Executors.newFixedThreadPool(4); while(...) { taskExecutor.execute(new MyTask()); } //...wait for completion somehow Как я могу получить уведомление, когда все они будут завершены? Пока...

377
Что такое хороший шаблон для использования Global Mutex в C #?

Класс Mutex очень неправильно понят, а Global mutexes тем более. Что такое хороший, безопасный шаблон для использования при создании глобальных мьютексов? Тот, который будет работать Независимо от локали моей машины Гарантированно освобождает мьютекс Опционально не зависает вечно, если мьютекс не...

368
Что означает термин «потокобезопасный»?

Означает ли это, что два потока не могут изменить базовые данные одновременно? Или это означает, что данный сегмент кода будет работать с предсказуемыми результатами, когда несколько потоков исполняют этот сегмент...

351
Что такое семафор?

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

346
В чем разница между параллельным программированием и параллельным программированием?

В чем разница между параллельным программированием и параллельным программированием? Я спросил Google, но не нашел ничего, что помогло бы мне понять эту разницу. Не могли бы вы привести пример для обоих? На данный момент я нашел это объяснение: http://www.linux-mag.com/id/7411 - но "параллелизм -...

341
SET NOCOUNT ON использование

Вдохновленный этим вопросом, где существуют разные взгляды на SET NOCOUNT ... Должны ли мы использовать SET NOCOUNT ON для SQL Server? Если нет, то почему нет? Что это делает Править 6, 22 июля 2011 Он подавляет сообщение «затронутые xx строки» после любого DML. Это набор результатов, и при...

317
Зачем использовать ReentrantLock, если можно использовать синхронизированный (это)?

Я пытаюсь понять, что делает блокировку параллелизма настолько важной, если ее можно использовать synchronized (this). В коде ниже, я могу сделать либо: синхронизировать весь метод или синхронизировать уязвимую область ( synchronized(this){...}) ИЛИ заблокируйте уязвимую область кода с помощью...