Популярные вопросы по тегу SYNCHRONIZATION

Как приобрести замок на ключ

... обязательно): interface LockByKey { void lock(String key); // acquire an exclusive lock for a key void unlock(String key); // release lock for a key } Эта 4 блокировка предназначена для синхронизации 3 доступа к удаленному хранилищу, поэтому 2 некоторые синхронизированные коллекции ...

Одновременное добавление параллельных потоков в ArrayList - что происходит?

... ин из двух добавляемых объектов действительно 3 добавляется к ArrayList. Это правдоподобно? Если да, то 2 как это решить? Используйте ...

Дождитесь завершения всех задач в модульном тесте

... глядит мой модульный тест: [TestMethod] public void TestFoo() { // Arrange var obj = new SomeClass(); // Act obj.Foo(); obj.Foo(); obj.Foo(); // Assert /* I need something to wait on all tasks to finish */ Assert.IsTrue(...); } Итак, мне 4 нужно заставить поток модульного тестирования 3 ждать, пока все задачи, запущенные в методе 2 Bar, не завершат свою работу, ...

Какова цель передачи параметра синхронизированному блоку?

... ead(accOps,"Sam"); lucy.start(); sam.start(); } } Использование нестатического синхронизированного 2 блока: public class AccountOperations implements Runnable{ private Account account = new Account(); public void run(){ for(int i=0;i<5 ...

C++ Доступ к вектору из нескольких потоков

... 9 (в моей программе - вектор). И каждый поток 8 изменяет вектор. А иногда моя программа дает 7 сбой из-за ошибки сегментации. Я думал, это 6 произошло из-за того, что поток A начинает 5 что-то делать с вектором, а поток B еще 4 не завершил работу с ним? Неужели э ...

Выполнение функции после завершения другой (асинхронной) функции в JavaScript

... ла changeText, заканчивала, а 8 затем вызывала userNameInput, упакованную 7 в обратном вызове. Почему-то я считаю, что, поскольку 6 функции setTimeout в функциях changeText 5 помещаются в очередь за пределами среды 4 Javascript на время X, JS видит, что в стеке 3 ничего нет, и продолжает выполнять username ...

Синхронный запрос в Node.js

... API в последовательном 2 порядке, что было бы лучшей альтернативой 1 следующему коду: http.get({ host: 'www.example.com', path: '/api_1.php' }, function(res) { res.on('data', fu ...

Лучший способ дождаться завершения обратного вызова

... t mm_th_done_cb(int error_code, th_result_s* th_result, void* user_data) { return 0; } void request() { th_request_s MyItemInfo; strncpy(MyItemInfo.origin_path, szUrl, 1024+1); MyItemInfo.orientation = 0; MyItemInfo.func = mm_th_done_cb; MyItemInfo.used_cache = 1; th_request_async(MyItemInfo); } int ...

Использование строки в качестве блокировки для синхронизации потоков

... 5 для синхронизации потоков. Я пытаюсь решить 4 некоторые проблемы, связанные с конфликтами 3 потоков в этой программе, и мне было интересно, ...

Сервер, подходящий для синхронизации, не найден для службы NTP

... elp driftfile /var/lib/ntp/ntp.drift # Enable this if you want statistics to be logged. #statsdir /var/log/ntpstats/ statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegen clockstats file clockstats type day enable # Specify one or more NTP servers. # Use servers from the NTP P ...

SQL Server - синхронизация 2 таблиц в 2 разных базах данных

... динаковой схемой 6 в 2 разных базах данных на одном сервере 5 с SQL Server 2008 R2. Одна таблица обновляется 4 данными чаще. Теперь необходимо синхронизировать 3 эти две таблицы. Это ...

C++ select() не дожидается тайм-аута

... ния», он быстро продолжает 4 выводить «истекло время ожидания», не дожидаясь 3 2 секунд, в основном входя в бесконечный 2 цикл. Кто-нибудь знает, в чем проблема? Спасибо 1 за любую помощь. #include <stdio.h> #include <sys/time.h> #include <sys/types.h> #include <unistd.h> using namespace std; const int STDIN = 0; int main(int argc, int *argv[]) { struct timeval tv; fd ...

Безопасно ли печатать более одной горутины в стандартный вывод?

... явной синхронизации. Безопасно 4 ли это (т.е. каждая строка будет отображаться 3 отдельно без повреждения данных), или мне 2 нужно создать другую горутину с синхронизацией 1 ...

Как я могу перенаправить stdout и stderr команды как на консоль, так и в файл журнала при выводе в реальном времени?

... tderr 4 stdout 5 stderr 5 stdout 6 stderr 6 stdout 7 stderr 7 stdout 8 stderr 8 stdout 9 stderr 9 stdout 10 stderr 10 stdout 11 stderr 11 stdout 12 stderr 12 stdout 13 stderr 13 stdout 14 stderr 14 stdout 15 stderr 15 stdout 16 stderr 16 stdout 17 stderr 17 stdout 18 stderr 18 stdout 19 stderr 19 stdout 20 stderr 2 ...

Когда сбрасывать файл в Go?

... Я никогда этого 3 не делаю, потому что вызываю F ...

Атомная инструкция

... nt temp = *x; *x = 1; return temp; } С 7 точки зрения программного обеспечения, если 6 кто-то не хочет использовать неблокирующие 5 примитивы синхронизации, как можно обеспечить 4 атомарность инструкции? в ...

Как дождаться завершения всех горутин, не используя time.Sleep?

... честве вызываемого исполняемого 9 файла и асинхронно применяет обработку к 8 каждому результату в методе обратного вызова 7 (в приведенном ниже примере печатается только 6 имя файла). Как избежать использования метода 5 сна, чтобы не допустить выхода из основного 4 метода? У меня проблемы с мыслями о каналах 3 (я предполагаю, что это то, что нужно, чтобы 2 синхронизиров ...

Как выполнить ресинхронизацию с хроном?

... date IPaddress в 2 наборе chrony, чтобы заставить chronyd синхронизироват ...

Монитор против Mutex в c #

... What are the differences between various threading synchronization options in C#? В чем разница между монитором и мьютекс ...

Что такое контекст потоковой передачи?

... ю этого термина 13 и хочу получить некоторое представление 12 о том, что на самом деле происходит за кулисами. Причина, по 11 которой я думал / думаю, что каждый поток 10 имеет какую-то частную память, была связана 9 с ключевым словом volatile в Java и .NET 8 и тем, как разные потоки могут иметь разные 7 значения для одного и того ...

Функция выполнения WebPack перед началом сборки

... .scss и объединяет их в один. После 6 этого Webpack должен забрать файл с результатами. Есть 5 ли возможность это сделать? На данный момент 4 я запускаю функцию перед module.exports в we ...

Являются ли C++ чтения и записи int Atomic?

... быть завершена 9 и прервана, а затем произойдет чтение. Например, подумайте 8 о значении = 0x0000FFFF, которое получает 7 увеличенное значение 0x00010000. Есть ли 6 время, когда значение выглядит как 0x0001FFFF, о 5 чем мне следует беспокоиться? Конечно, чем 4 крупнее тип, тем больше вероятность того, что 3 что-то подобное п ...

Использование потоков Python для выполнения тысяч вызовов медленного API с ограничением скорости

... ий код работает, но я 2 чувствую, что смогу как-то лучше использовать 1 библиотеку потоков. Я использую Python 3.3 last_job = datetime.now() for work in work_list: while (datetime.now()-last_job).total_seconds() < 1 ...

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

... 33 серьезно снижает производительность кода, считывающего 32 эти данные. Итак, нам понадобится мьютекс 31 с множественным чтением / одиночной записью. Я 30 знаю, что это можно построить на основе 29 более простых примитивов, но прежде чем 28 я попробую это сделать, я лучше попрошу 27 существующие знания: Каков одобренный способ создания блокировки множественного чтения / одиночной записи из более про ...

Как синхронизировать статическую переменную между потоками, выполняющими разные экземпляры класса в Java?

... 3 синхронизация происходит на уровне объекта, 2 12 потока, выполняющие разные экземпляры объекта, не 11 будут синхронизированы. Если у нас есть 10 статическая переменная в классе Java, вызываемая 9 методом, мы хотели бы, чтобы она синхронизировалась 8 между экземплярами класса. Два экземпляра 7 работают в 2 разных потоках. Можно ли добиться 6 синхронизации следующим образом? public class Test { private static int count = 0; ...

Почему синхронизированный блок лучше, чем синхронизированный метод?

... потоках. Синхронизированный 3 метод: public class Counter { private static int count = 0; public static synchronized int getCount() { return count; } public synchronized setCount(int count) { this.count = count; } } Синхронизированный блок: public class Singleton { private static volatile Singleton _instance; public static Singleton getInstance() { if (_instance == null) { ...

Лучший способ использования sync.WaitGroup с внешней функцией

... intln(n) } defer wg.Done() } Я захожу 7 в тупик в указанном месте. Я попытался установить 6 wg.Add(1) вместо 2, и это решает мою проблему. Я 5 считаю, что я не могу успешно отправить 4 канал в качестве аргумента функции Printer. Есть 3 ли способ сделать это? В противном случае 2 решением моей проблемы является замена строки 1 go Print(ch, wg) на: go func() { Print(ch) defer wg.Done() } и изменив функцию Printer на: func Print ...

Что, если notify() вызывается перед wait()?

... так, я 4 разработал цепочку ожидания-> уведомление-> расписание void Broker::pause() { boost::unique_lock<boost::mutex> lock(m_pause_mutex); { std::cout << "pausing the simulation" << std::endl; m_cond_cnn.wait(lock); std::cout << "Simulation UNpaused" << std::endl; // the following line causes the current function ...

Блокирует ли .NET Task.Result (синхронно) поток

... олнения ASP.NET, текущий поток 4 не может использоваться для обработки других 3 запросов, пока он ожидает результата. Кстати, а 2 как насчет async в C# 5.0? Блокирует ли асинхронный ...

Заказ потоков для запуска в том порядке, в котором они были созданы / запущены

... ядочить потоки в том порядке, в 3 котором они были созданы. как я могу заставить 2 программу ниже печатать числа от 1 до 10 1 по порядку. public class ThreadOrdering { public static void main(String[] args) { class MyRunnable implements Runnable{ private final int threadnumber; MyRunnable(int threadnumber){ thi ...

Как разделить семафоры между процессами с использованием общей памяти

... ссами. Я думал, что 2 разделяемая память должна работать правильно, но 1 у меня есть вопросы: Как выделить в сегменте нужное место в памяти? Могу ли я использовать sizeof(sem_t) в по ...

Как правильно использовать sync.Cond?

... удут пытаться 9 получить заголовки спустя долгое время после 8 того, как они уже будут доступны. Горутина 7 загрузчика может просто сохранять заголовки 6 HTTP в переменной и использовать мьютекс 5 для защиты доступа к ним. Однако это не 4 дает другим горутинам возможности «ждать» их 3 доступ ...

Что такое атомарные операции для новичков?

... стемах, и каждый 6 ответ, который я нашел в Stackoverflow, настолько 5 сложен, что я не могу понять. Может ли кто-нибудь 4 объяснить, что такое ...

Как использовать Git на Android?

... оего git-сервера из моего 5 приложения для Android, но это действительно 4 дразнил меня. Не могли бы вы сказать мне, существует 3 ли какая-либо другая реализация git, которую 2 можно использовать на Android ...

Java: как синхронизировать доступ к массиву и каковы ограничения того, что происходит в синхронизированном состоянии

... явление вроде synchronized (array1[]){ } Синхронизирует 9 ли это доступ ко всему в массиве, чтобы 8 массив был заблокирован для других потоков? Если 7 у меня есть двумерный массив, могу ли я 6 использовать synchronized (array1[i]), чтобы заблокировать одну из 5 строк массива? и можно ли заблокировать отдельные 4 значения массива с чем-то вроде synchronized (array1[i][j]){ } ...

Как я могу использовать rsync для получения файлов с URL-адреса HTTP?

... ю 9 папку, содержащую те же файлы, что и в этом 8 URL-адресе. Я пробовал: rsync -av http://data.pudo.org/flexicadastre/ . Но я получаю: ssh: Could not resolve hostname http: nodename nor servname provided, or not known rsync: connection unexpectedly closed (0 bytes received so far) [receiver] rsync error: unexplained error (code 255) at /SourceCache/rsync/rsync-45/rsync/io.c(453) [receiver=2.6.9] Обычно ...

Синхронизация против блокировки

... ет класс с именем Lock, который 6 в основном сериализует элемент управления 5 для доступа к критически важному ресурсу. Он 4 предоставляет такие методы, как park() и unpark(). Мы можем 3 делать то же самое, если можем ис ...

Игнорирует ли rsync временные метки файлов и автоматически перезаписывает их на клиенте, если файл на сервере отличается?

... думаете, что 13 мне просто придется стиснуть зубы и использовать 12 git или Mercurial, несмотря на дополнительное 11 место на диске для отслеживания версий? (Да, я 10 знаю о Dropbox; лимит бесплатной учетной 9 записи в 2 ГБ намного превышает лимит, и 8 я не особо заинтересован в том, чтобы тратить 7 120–240 долларов США в год, когда мне не 6 нужно облачное хранилище, и что-то такое 5 простое должно уже было сделано раньше. с бесплатными ...

Когда нужна условная переменная, разве мьютекса недостаточно?

... юме, получат 9 уведомление и смогут продолжить казнь Меня 8 смущает то, что поток может ждать и мьютекса, и 7 когда он получает сигнал, это просто означает, что 6 переменная теперь доступна. Зачем мне нужна 5 переменная условия? P.S .: Кроме того, мьютекс 4 необходим для защиты переменной условия 3 в любом случае, что делает мое видение более 2 искаженным в отношении того, что я н ...

PHP - sleep() в миллисекундах

... пути. $ms = 10000; $seconds = round($ms / 1000, 2); sleep($seconds); Я хотел 3 бы знать, есть ли в PHP более универсальная 2 функция для этого или лучший способ справиться 1 с эт ...

Ожидание условия в повторно входимой блокировке

... pty = lock.newCondition(); final Object[] items = new Object[100]; int putptr, takeptr, count; public void put(Object x) throws InterruptedException { lock.lock(); try { while (count == items.length) notFull.await(); items[putptr] = x; if (++putptr == items.length) putptr = 0; ++count; notEmpty.signal(); } finally { lock.unlock(); } } public Object take() throws Inter ...

Параллельная запись в файл

... ile( i, f, w ) } //wait for writers to finish w.Wait() } Я наполовину ожидал, что вывод 8 будет показывать что-то вроде этого в файле 7 вместо согласованного вывода, который я 6 получил: Printing Printing out: 2 out: 5 Poriuntitng: 6 По ...

Как лучше всего ждать нескольких переменных состояния в С ++ 11?

... errupt_exception. struct interrupt_exception {}; class semaphore { public: class interrupt; private: mutable std::mutex mutex; // must be declared after our mutex due to construction order! private: interrupt* informed_by; private: std::atomic<long> counter; private: std::condition_variable cond; public: semaphore(); public: ~semaphore() ...

Что такое Gradle Sync в Android Studio?

... .properties. Примерно 1 так: systemProp.http.proxyHost=*proxyAddress* systemProp.http.proxyPort=*portNumber* systemProp.https.proxyHost=*proxyAddress* systemProp.https.proxyP ...

Условная переменная против семафора

... спользовать семафор, ...

Атомарные операции и многопоточность

... ом volatile. " AtomicInteger или 5 AtomicLong, которые предоставляют такие методы, как 4 getAndDecrement(), getAndIncrement() и getAndSet(), которые являются атомарными. Я немного 3 запутался в приведенном выше утверждении 2 ... не могли бы вы пояснить, когда использовать ...

В чем разница между взаимоисключением и синхронизацией?

... овки обеспечивают взаимное исключение Семафоры и условные переменные обеспечивают синхронизацию Это правда? Также во время 1 поиска я нашел этот article Л ...

Threadsafe против синхронизированного

... пользоваться несколькими потоками 4 одновременно без каких-либо проблем. Где 3 «Синхронизированный» означает, что одновременно 2 может работать только один поток. Так как 1 они связан ...

SynchronizationLockException на Monitor.Exit при использовании ожидания

... ers\me\Documents\Visual Studio 2013\Projects\MyApp\MyApp\Data\ExProvider.cs:line 56 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotifi ...

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

... не хочу БЛОКИРОВАТЬ 9 или ЖДАТЬ). Сейчас я делаю что-то вроде этого: synchronized(record) { performOperation(record); } Но 8 это вызывает у меня проблемы ... потому 7 что, пока Process1 выполняет операцию, если 6 Process2 входит, он блокирует / ожидает 5 синхронизированного оператора, а когда Process1 4 завершается, он выполняет операцию. Вместо 3 этого я хочу что-то вроде этого: if (record is locked) return; synchr ...