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

В інформатиці одночасність - це властивість систем, в яких можна проводити кілька обчислень у періоди, що перетинаються. Обчислення можуть бути виконані на декількох ядрах в одній мікросхемі, попередньо розділених за часом потоках на одному і тому ж процесорі або виконані на фізично розділених процесорах.

3
ОЧІКУВАННЯ на sun.misc.Unsafe.park (рідний метод)
Одне з моїх програм зависає під деяким періодом роботи під навантаженням, чи хтось знає, що може спричинити такий вихід у jstack: "scheduler-5" prio=10 tid=0x00007f49481d0000 nid=0x2061 waiting on condition [0x00007f494e8d0000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000006ee117310> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1085) at …


7
Координація паралельного виконання в node.js
Модель програмування node.js, керована подіями, робить дещо складніше координувати потік програми. Просте послідовне виконання перетворюється на вкладені зворотні виклики, що досить легко (хоча трохи заплутано для запису). Але як щодо паралельного виконання? Скажімо, у вас є три завдання A, B, C, які можуть виконуватися паралельно, і коли вони будуть виконані, …

3
Коли ConcurrentDictionary TryRemove поверне false
Чи поверне він значення false, якщо словник не містить значення для даного ключа, або він також поверне значення false через умови перегону потоків, як інший потік щось додає / оновлює? Питання в коді: ConcurrentDictionary<int, string> cd = new ConcurrentDictionary<int, string>(); // This might fail if another thread is adding with …
79 c#  .net  concurrency 

3
Розуміння std :: hardware_destructive_interference_size та std :: hardware_constructive_interference_size
C ++ 17 додано std::hardware_destructive_interference_sizeтаstd::hardware_constructive_interference_size . По-перше, я думав, що це просто портативний спосіб отримати розмір лінії кешу L1, але це занадто спрощення. Запитання: Як ці константи пов'язані з розміром рядка кешу L1? Чи є хороший приклад, який демонструє випадки їх використання? Обидва визначені static constexpr. Це не проблема, якщо …

10
Коли слід використовувати CompletionService над ExecutorService?
Я щойно знайшов CompletionService у цьому дописі в блозі . Однак це насправді не демонструє переваг CompletionService перед стандартним ExecutorService. Один і той самий код можна написати будь-яким. Отже, коли CompletionService корисний? Чи можете ви дати короткий зразок коду, щоб він став кристально чистим? Наприклад, цей зразок коду просто показує, …

6
Акторська модель: Чому Erlang / OTP особливі? Чи можете ви використовувати іншу мову?
Я вивчав вивчення Erlang / OTP і, як результат, читав (добре, скіммінг) про модель актора. Наскільки я розумію, модель актора - це просто набір функцій (які працюють у полегшених потоках, що називаються "процесами" в Erlang / OTP), які взаємодіють між собою лише шляхом передачі повідомлень . Це здається досить тривіальним …

5
Паралельність Java: CAS проти блокування [закрито]
Закрито . Це питання ґрунтується на думках . Наразі відповіді не приймаються. Хочете покращити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 4 роки тому . Удосконалюйте це питання Я читаю книгу " Паралельно Java" на практиці . У главі …

2
Як правильно створювати та запускати паралельні завдання за допомогою модуля asyncio python?
Я намагаюся правильно зрозуміти та реалізувати два одночасно запущені Taskоб'єкти, використовуючи відносно новий asyncioмодуль Python 3 . У двох словах, asyncio, здається, призначений для обробки асинхронних процесів та одночасного Taskвиконання через цикл подій. Він сприяє використанню await(застосовується в асинхронних функціях) як способу зворотного виклику для очікування та використання результату, не …

12
Найпростіший і зрозумілий приклад мінливого ключового слова в Java
Я читаю про мінливе ключове слово на Java і повністю розумію його теоретичну частину. Але те, що я шукаю, - це хороший приклад, який показує, що сталося б, якби змінна не була мінливою і якби вона була. Нижче фрагмент коду не працює належним чином (взято звідси ): class Test extends …

13
Якась хороша реалізація Actors для C #? [зачинено]
Зачинено. Це питання не відповідає вимогам щодо переповнення стека . Наразі відповіді не приймаються. Хочете покращити це питання? Оновіть питання, щоб воно було актуальним для переповнення стека. Закрито 5 років тому . Удосконалюйте це питання Чи є якась реалізація моделі паралельності акторів для .net / c #? Мені доводиться оптимізувати …
75 c#  .net  concurrency  actor 

1
Для чого використовуються огорожі пам'яті на Java?
Поки намагалися зрозуміти, як SubmissionPublisher( вихідний код у Java SE 10, OpenJDK | docs ), новий клас, доданий до Java SE у версії 9, реалізований, я натрапив на кілька викликів API, про які VarHandleраніше не знав: fullFence, acquireFence, releaseFence, loadLoadFenceІ storeStoreFence. Провівши деякі дослідження, особливо стосовно концепції бар'єрів / огорожі …

2
Служба виконавця Java зупинить, коли одне із призначених йому завдань не справляється з будь-якої причини
Мені потрібна якась послуга, яка виконуватиме декілька завдань одночасно та з інтервалом у 1 секунду протягом 1 хвилини. Якщо одне із завдань не вдається, я хочу зупинити службу і кожне завдання, яке було з ним, з якимось індикатором, що щось пішло не так, інакше, якщо через одну хвилину все піде …

2
Котлінські супроти гарантій "трапляються раніше" гарантують?
Чи надають супроводи Котліна які-небудь гарантії "раніше"? Наприклад, чи існує гарантія "перед тим", що між записом mutableVarі наступним читанням (потенційно) іншого потоку в цьому випадку гарантує : suspend fun doSomething() { var mutableVar = 0 withContext(Dispatchers.IO) { mutableVar = 1 } System.out.println("value: $mutableVar") } Редагувати: Можливо, додатковий приклад уточнить питання …

2
Що гарантується C ++ std :: atomic на рівні програміста?
Я прослухав і прочитав декілька статей, бесід та запитань про поточний потік std::atomic, і хотів би бути впевненим, що я це добре зрозумів. Оскільки я все ще трохи заплутаний у кеш-рядку запису видимості через можливі затримки протоколів когерентності кеш-пам'яті MESI (або похідних), зберігання буферів, недійсних черг тощо. Я прочитав, що …

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