Запитання з тегом «synchronization»

Синхронізація відноситься до використання елементів управління для підтримки узгодженого подання, або групи процесів, що виконують ту саму програму (синхронізація процесів), або представлення даних (синхронізація даних).

8
Як саме працює замок?
Я бачу, що для використання об'єктів, які не є безпечними для потоків, ми обертаємо код таким замком: private static readonly Object obj = new Object(); lock (obj) { // thread unsafe code } Отже, що відбувається, коли декілька потоків отримують доступ до одного і того ж коду (припустимо, він працює …

22
Уникайте синхронізації (цього) на Java?
Кожного разу, коли виникає запитання щодо синхронізації Java, деякі люди дуже хочуть зазначити, чого synchronized(this)слід уникати. Натомість, вони стверджують, слід віддати перевагу замок на приватній довідці. Деякі з наведених причин: якийсь злий код може вкрасти ваш замок (дуже популярний цей, також є варіант "випадково") всі синхронізовані методи в межах одного …

5
C # версія синхронізованого ключового слова Java?
Чи має c # власну версію ключового слова java "синхронізовано"? Тобто в java його можна вказати або функції, об'єкту або блоку коду, наприклад: public synchronized void doImportantStuff() { // dangerous code goes here. } або public void doImportantStuff() { // trivial stuff synchronized(someLock) { // dangerous code goes here. } …

7
Яка різниця між атомною / летючою / синхронізованою?
Як атомні / летючі / синхронізовані працюють всередині? Яка різниця між наступними кодовими блоками? Код 1 private int counter; public int getNextUniqueIndex() { return counter++; } Код 2 private AtomicInteger counter; public int getNextUniqueIndex() { return counter.getAndIncrement(); } Код 3 private volatile int counter; public int getNextUniqueIndex() { return counter++; …


5
Як @synchronized блокування / розблокування в Objective-C?
Чи @synchronized не використовує "lock" та "unlock" для досягнення взаємного виключення? Як це зробити блокування / розблокування тоді? Вихід з наступної програми - лише "Hello World". @interface MyLock: NSLock<NSLocking> @end @implementation MyLock - (id)init { return [super init]; } - (void)lock { NSLog(@"before lock"); [super lock]; NSLog(@"after lock"); } - …

10
Синхронізація проти блокування
java.util.concurrentAPI надає клас, який називається як Lock, який би в основному серіалізував керування для доступу до критичного ресурсу. Він дає такий метод, як park()і unpark(). Ми можемо зробити подібні речі, якщо зможемо використовувати synchronizedключове слово, використовуючи wait()і notify() notifyAll()методи. Мені цікаво, що з них краще на практиці і чому?

8
Як синхронізовані статичні методи працюють на Java і чи можу я використовувати її для завантаження сплячих об'єктів?
Якщо у мене є клас утиліти зі статичними методами, які будуть викликати сплячі функції для отримання базового доступу до даних. Мені цікаво, чи виготовлення методу synchronized- це правильний підхід для забезпечення безпеки потоку. Я хочу, щоб це запобігало доступу інформації до того самого екземпляра БД. Однак зараз я впевнений, що …

8
Приклад / підручник Mutex? [зачинено]
Зачинено. Це питання не відповідає вказівкам щодо переповнення стека . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для переповнення стека. Закрито 4 місяці тому . Удосконаліть це питання Я новачок у багатопотоковому читанні і намагався зрозуміти, як працюють мутекси. Зробив багато в Google, …

7
Які відмінності між різними параметрами синхронізації потоків у C #?
Чи може хтось пояснити різницю між: замок (деякийоб'єкт) {} Використання Mutex Використання Семафору Використання монітора Використання інших класів синхронізації .Net Я просто не можу це зрозуміти. Мені здається, перші два такі ж?

6
Чи безпечні нитки статичних ініціалізаторів Java?
Я використовую блок статичного коду для ініціалізації деяких контролерів у реєстрі, який у мене є. Моє запитання полягає в тому, чи можу я гарантувати, що цей блок статичного коду буде абсолютно викликаний лише один раз при першому завантаженні класу? Я розумію, що не можу гарантувати, коли цей код коду буде …

10
C ++ 0x не має семафорів? Як синхронізувати потоки?
Чи правда, що C ++ 0x вийде без семафорів? Про стек переповнення вже є кілька питань щодо використання семафорів. Я використовую їх (posix semaphores) весь час, щоб потік чекав на якусь подію в іншій потоці: void thread0(...) { doSomething0(); event1.wait(); ... } void thread1(...) { doSomething1(); event1.post(); ... } Якби …


5
Як синхронізувати статичну змінну серед потоків, що виконують різні екземпляри класу на Java?
Я знаю, що використання synchronizeключового слова перед методом приносить синхронізацію з цим об’єктом. Тобто, 2 потоки, що виконують один і той же екземпляр об'єкта, будуть синхронізовані. Однак, оскільки синхронізація знаходиться на рівні об'єкта, 2 потоки, що виконують різні екземпляри об'єкта, не будуть синхронізовані. Якщо у нас є статична змінна в …

8
Java Singleton та синхронізація
Будь ласка, уточніть мої запитання щодо Singleton та Multithreading: Який найкращий спосіб реалізувати Singleton на Java у багатопотоковому середовищі? Що відбувається, коли кілька потоків намагаються отримати доступ до getInstance() методу одночасно? Чи можемо ми зробити одинарних getInstance() synchronized? Чи справді потрібна синхронізація під час використання класів Singleton?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.