Результаты поиска по запросу "synchronization"

3 ответа

При использовании синхронизированных (блокировка) объект блокировки предпочтительнее быть статическим или нестатичным?

При использовании чего-то вроде этого: private final Object lock = new Object()Есть ли разница между статическим и нестатическим? Может ли нестатический объект заблокировать статический метод или наоборот?

6 ответов

Являются ли Java статические инициализаторы потокобезопасными?

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

1 ответ

Как защитить ресурсы, которые могут быть использованы в многопоточной или асинхронной среде?

Я работаю над C # API, который используется различными потребителями. Этот API обеспечивает доступ к общему ресурсу (в моем случае это аппаратное обеспечение, которое осуществляет последовательную связь), в котором часто есть несколько разных ...

ТОП публикаций

3 ответа

Получение потока для приостановки - Thread.wait () / Thread.notify ()

Я пытаюсь понять, как работают потоки, и я написал простой пример, в котором я хочу создать и запустить новый поток, поток, отобразить числа от 1 до 1000 в основном потоке, возобновить дополнительный поток и отобразить числа от 1 до 1000 во ...

3 ответа

Требуется ли барьер памяти, если второй поток ожидает завершения первого?

Предположим, что потокAlpha пишет в переменнуюA без блокировки. Вторая нитьBeta ждетAlpha завершить, а затем читает переменнуюA в очереди. Возможно ли, что содержимоеA не будет свежим? Может ли запись в память быть отложена сверх срока жизни ...

3 ответа

SynchronizationLockException на Monitor.Exit при использовании await

Я создаю фрагмент кода, который получает веб-страницу из устаревшей системы, которая у нас есть. Чтобы избежать чрезмерных запросов, я кеширую полученный URL. Я используюMonitor.Enter, Monitor.Exit и двойная проверка, чтобы избежать выдачи ...

5 ответов

Синхронизация многопоточного вывода STD cout

В последнее время я работал с многопоточным кодированием, через некоторое время я понял, что если бы я использовал std :: cout в разных boost :: threads, то вывод получился бы без логического порядка, программа, которую я тестирую, что-то ...

3 ответа

Не понимаю необходимость Monitor.Pulse ()

Согласно сMSDN [http://msdn.microsoft.com/en-us/library/ateab679.aspx], Monitor.Wait(): Снимает блокировку с объекта и блокирует текущий поток, пока он не снимет блокировку. Однако все, что я прочитал о Wait () и Pulse (), по-видимому, ...

2 ответа

Почему __sync_add_and_fetch работает для 64-битной переменной в 32-битной системе?

Рассмотрим следующий сокращенный код: /* Compile: gcc -pthread -m32 -ansi x.c */ #include <stdio.h> #include <inttypes.h> #include <pthread.h> static volatile uint64_t v = 0; void *func (void *x) { __sync_add_and_fetch (&v, 1); return x; } int ...

6 ответов

Collections.synchronizedList и синхронизированы

List<String> list = Collections.synchronizedList(new ArrayList<String>()); synchronized (list) { list.add("message"); }Блок "synchronized (list) {}" действительно нужен здесь?