Вопросы по теме 'synchronized'

Разница между состояниями потоков
В java поток может быть остановлен двумя способами: пользователем (вызовом сна или ожидания) или синхронизированным блоком . Поток перестает работать или блокируется (ожидая снятия блокировки каким-либо другим потоком), когда он пытается войти в...
235 просмотров

Java: как использовать синхронизированный и изменчивый
У меня две темы. Первый поток вызывает метод setX, второй - метод getX. Нужно ли мне синхронизировать методы, хотя у меня только один поток записи? И могу ли я также решить проблему с потоком со вторым классом и изменчивой переменной? public...
332 просмотров

Есть ли разница между синхронизацией метода или добавлением синхронизированного блока в метод?
Будут ли эти два блока кода вести себя одинаково? Вы можете предположить, что эти методы запуска вызываются из потоков. public synchronized void run() { System.out.println("A thread is running."); } Or static Object syncObject = new...
173 просмотров
schedule 15.09.2021

Унаследовано ли синхронизированное в Java?
У меня есть суперкласс Point и synchronized метод draw() . Будут ли подклассы Point наследовать synchronized , если я переопределю в них метод draw() или мне придется всегда его писать?
7991 просмотров
schedule 09.10.2021

Разрешение вызова одного метода для метода категории ios (@synchronized)
У меня есть UIViewController и Категория для добавления методов в UIViewController. В категории есть метод: @implementation UIViewController (AlertAnimationsAndModalViews) -(void)someAddedMethod { UIView *someView; //do some animation with...
1747 просмотров

Синхронизированная система через unix ME и семафоры счетчиков
Мне очень тяжело работать с синхронизацией. Моя текущая архитектура должна быть такой: N рабочих процессов работают во взаимном исключении над общим сегментом памяти. Когда все они выполнили свою работу, 1 "экранный" процесс показывает состояние...
299 просмотров

Параллелизм Java заставляет лифт останавливаться на соседних этажах
Итак, для этого задания я должен смоделировать лифты. Прямо сейчас я генерирую 3 человек, которые появляются на случайном этаже и имеют случайный этаж назначения. У меня есть 1 лифт, который их поднимает и доставляет. У меня проблема в том, что...
2690 просмотров

Одноэлементный класс между разными загрузчиками классов и потоками
В java возможно иметь класс, у которого нет нескольких экземпляров между потоком и загрузчиком классов например, это простой одноэлементный класс, который работает с несколькими потоками public class SynchronizedData { private static...
66 просмотров

делать синхронизированные вызовы очереди java-методов?
Я прочитал документ оракула о синхронизированных методах и о том, как они могут блокировать многопоточную программу, но есть одна вещь, которая мне неясна. Поступают ли в очередь последующие вызовы уже заблокированных методов? Допустим, у нас...
2501 просмотров
schedule 13.10.2021

Java: совместное использование и вызов переменных между потоками
Я сделал базовый сервер с использованием сокетов и хотел добавить простой графический интерфейс для его включения и выключения. Чтобы графический интерфейс продолжал работать, пока сервер выполняет цикл while, я создал поток для сокетов. Теперь я...
56 просмотров

Одновременный доступ к TreeSet не работает
Я создаю Java-класс IdGenerator, который выделяет уникальный целочисленный идентификатор каждый раз, когда он запрашивается. Он использует TreeSet для хранения диапазонов свободных идентификаторов, и каждый раз, когда запрашивается идентификатор, он...
181 просмотров
schedule 12.10.2021

Что такое неявные блокировки, связанные с каждым объектом в Java?
Я читал о synchronized блоках в Java, и пока я читал, у нас есть эти неявные «блокировки», связанные с каждым объектом (как указано в здесь ), и если мы представим, что у нас есть переменная LOCK : private static final Object LOCK = new...
237 просмотров

Что, если мы будем использовать только внешнюю нулевую проверку в шаблоне синглтона двойной проверки?
Вопрос 1: Почему в одноэлементном шаблоне для многопоточности нам нужны две нулевые проверки? Что, если мы воспользуемся только внешним чеком? if (instance == null) { synchronized (ABC.class) { // What if we remove this...
63 просмотров

Объект в синхронизированном коде, возвращенный методом
Я хочу иметь синхронизированный блок, в котором объект для синхронизации возвращается из вызова метода: ... synchronized( someGetMethod() ) { // synchronized block } ... Есть ли предположение, что "someGetMethod" синхронизирован или только...
101 просмотров
schedule 21.09.2021

Видимость данных в многопоточном сценарии
Еще один сценарий, основанный на предыдущем вопросе. На мой взгляд, его заключение будет достаточно общим, чтобы быть полезным для широкой аудитории. Цитируя Питера Лоури из здесь : Синхронизированный использует барьер памяти, который...
112 просмотров

почему мой код зависает?
Мне очень любопытна эта вещь. У меня есть код в синхронизированном блоке, который вызывает метод SDK, но зависает. synchronized(someObject) { someSDKobj.someMethd(); } Если я делаю тот же вызов из несинхронизированного блока, он...
1765 просмотров
schedule 25.02.2022

энергозависимая синхронизированная комбинация для производительности
Когда используется синхронизация, это влияет на производительность. Можно ли использовать volatile в сочетании с synchronized, чтобы снизить нагрузку на производительность? Например, экземпляр Counter будет совместно использоваться многими потоками,...
1807 просмотров
schedule 03.03.2022

Почему ключевое слово synchronize не используется с примитивной переменной. Использовать только с методом и синхронизированным блоком
В java есть synchronize keyword , который используется, чтобы избежать одновременного доступа нескольких потоков к методу или блоку синхронизации. Мой вопрос в том, почему synchronize keyword не используется с примитивными переменными? Я знаю,...
2830 просмотров
schedule 08.03.2022

Синхронизированный код
Я где-то читал, что следующие фрагменты кода эквивалентны синхронизированному коду: public synchronized void printMsg() { System.out.println("synchronized"); } public void printMsg() { synchronized(this) {...
303 просмотров
schedule 29.03.2022

Как JAVA может дать две блокировки одному и тому же сегменту кода?
У меня есть две блокировки -- lock1 и lock2 в моем коде, и я хочу дать одному сегменту кода эти две блокировки следующим образом: synchronized(lock1 || lock2) { // code } Это означает, что если блокировка1 или блокировка2 занята, этот...
57 просмотров
schedule 03.04.2022