Вопросы с тегом 'thread-safety'

Кусок кода является потокобезопасным, если он только манипулирует структурами данных таким образом, чтобы обеспечить согласованное выполнение этого кода несколькими потоками. Код может быть потокобезопасным, условно безопасным (требуется взаимное исключение) или небезопасным (его можно использовать только одним потоком).
14

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

Я не могу понять эту ошибку, потому что когда отладчик подключен, похоже, что это не происходит. Ниже приведен код. Это сервер WCF в службе Windows. Метод NotifySubscribers вызывается службой всякий раз, когда есть событие данных (случайные интервал...
03 мар. '09 в 2:01
4

Что такое поточно-безопасный или небезопасный поток в PHP?

Я видел разные двоичные файлы для PHP, например, без потоков или потоков. Что это значит? В чем разница между этими пакетами?
26 окт. '09 в 9:41
9

Как работает блокировка?

Я вижу, что для использования объектов, которые не являются потокобезопасными, мы обмениваем код блокировкой следующим образом: private static readonly Object obj = new Object(); lock (obj) { // thread unsafe code } Итак, что происходит, когд...
17 мая '11 в 10:55
3

Варианты использования для планировщиков RxJava

В RxJava есть 5 разных планировщиков на выбор: немедленный(): создает и возвращает планировщик, который немедленно запускает работу в текущем потоке. trampoline(): создает и возвращает планировщик, который работает в очереди на текущий поток,...
07 июл. '15 в 18:06
9

Почему Java SimpleDateFormat не является потокобезопасным?

Расскажите, пожалуйста, пример кода, почему SimpleDateFormat не является потоковым. В чем проблема в этом классе? Проблема с функцией формата SimpleDateFormat? Пожалуйста, дайте код, который демонстрирует эту ошибку в классе. FastDateFormat являет...
27 июл. '11 в 7:24
11

Синхронизированный метод Java на объекте или методе?

Если у меня есть 2 синхронизированных метода в одном классе, но каждый из них обращается к различным переменным, может ли 2 потока одновременно обращаться к этим двум методам? Находит ли замок объект, или он становится таким же конкретным, как переме...
15 июн. '10 в 17:38
2

Является ли локальная статическая переменная инициализацией потокобезопасной в С++ 11?

Я знаю, что это часто задаваемый вопрос, но, поскольку существует так много вариантов, я хотел бы переформулировать его и, надеюсь, иметь ответ, отражающий текущее состояние. Что-то вроде Logger& g_logger() { static Logger lg; return lg;...
12 нояб. '11 в 2:34
9

Автоматизация кода кода InvokeRequired

Мне стало известно, насколько часто нужно писать следующий код в управляемом событиями графическом интерфейсе, где private void DoGUISwitch() { // cruisin for a bruisin' through exception city object1.Visible = true; object2.Visible = fa...
02 мар. '10 в 23:29
7

Что такое функция реентерабера?

Большинство , определение reentrance приведено в Wikipedia: Компьютерная программа или подпрограмма описанный как повторный, если он может быть безопасно снова вызван предыдущий вызов завершен (то есть его можно безопасно выполнить одновременн...
09 мая '10 в 20:14
8

Безопасна ли проверка! =?

Я знаю, что сложные операции, такие как i++, не являются потокобезопасными, поскольку они связаны с несколькими операциями. Но проверяет ли ссылка на себя безопасную по потоку операцию? a != a //is this thread-safe Я попытался запрограммировать ...
27 авг. '13 в 8:27
5

Несинхронизированные статические методы потокобезопасны, если они не изменяют переменные статического класса?

Мне было интересно, если у вас есть статический метод, который не синхронизирован, но не изменять какие-либо статические переменные, является ли он потокобезопасным? Как насчет того, создает ли в нем локальные переменные? Например, следующий код ...
02 мар. '11 в 21:00
5

С# Thread безопасный быстрый (est) счетчик

Каков способ получения счетчика потокобезопасности в С# с наилучшей производительностью? Это так просто, как это получается: public static long GetNextValue() { long result; lock (LOCK) { result = COUNTER++; } return res...
01 нояб. '12 в 16:47
5

Итерирует ли ConcurrentHashMap значение потокобезопасности?

В javadoc для ConcurrentHashMap является следующее: Операции поиска (включая get) обычно не блокируются, поэтому могут перекрываться с операциями обновления (включая put и remove). Retrievals отражают результаты последних завершенных операций по об...
22 сент. '10 в 11:01
4

Что делает метод потокобезопасным? Каковы правила?

Существуют ли общие правила/рекомендации для того, что делает метод потокобезопасным? Я понимаю, что, возможно, миллион разовых ситуаций, но что вообще? Это просто? Если метод обрабатывает только локальные переменные, он безопасен для потоков. Это ...
24 мар. '12 в 0:28
13

Резервный список <T>

Я хочу реализовать List<T> как свойство, которое можно без проблем использовать без проблем. Что-то вроде этого: private List<T> _list; private List<T> MyT { get { // return a copy of _list; } set { _list = value; } } ...
03 мая '11 в 19:01