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

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

2
Збентежений щодо UPDLOCK, HOLDLOCK
Досліджуючи використання підказки для таблиці , я зіткнувся з цими двома запитаннями: Які підказки щодо блокування слід використовувати (T-SQL)? Який вплив має HOLDLOCK на UPDLOCK? Відповіді на обидва запитання говорять, що під час використання (UPDLOCK, HOLDLOCK)інші процеси не зможуть читати дані в цій таблиці, але я цього не бачив. Для …

2
Як працюють актори порівняно з темами?
Чи є хороше і коротке пояснення того , як актори порівняно з нитками? Чи не можна потік розглядати як актора та надсилати повідомлення іншим потокам? Я бачу якусь різницю, але для мене це не так зрозуміло. Чи можу я використовувати Актори в будь-якій мові, використовуючи теми по-різному?

9
Node.js або Erlang
Мені дуже подобаються ці інструменти, коли йдеться про рівень паралельності, з яким він може обробляти. Erlang / OTP виглядає набагато стабільнішим рішенням, але вимагає набагато більше навчання та багато занурень у функціональну мовну парадигму. І схоже на те, що Erlang / OTP значно покращує роботу з багатоядерними процесорами (виправте мене, …

8
Як чекати декількох ф'ючерсів?
Припустимо, у мене є кілька ф’ючерсів і мені потрібно почекати, поки будь- яке з них зазнає невдачі або всі вони досягнуть успіху. Наприклад: Нехай є 3 ф'ючерсів: f1, f2, f3. Якщо це f1вдається і f2не вдається, я не чекаю f3(і повертаю помилку клієнту). Якщо f2не вдається, f1і f3все ще працює, …

2
Що саме робить Runtime.Gosched?
У версії до випуску go 1.5 веб-сайту Tour of Go є фрагмент коду, який виглядає так. package main import ( "fmt" "runtime" ) func say(s string) { for i := 0; i < 5; i++ { runtime.Gosched() fmt.Println(s) } } func main() { go say("world") say("hello") } Результат виглядає так: …
86 concurrency  go 

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

7
Java: ExecutorService, що блокує подання після певного розміру черги
Я намагаюся кодувати рішення, в якому один потік виробляє завдання з інтенсивним введенням / виводом, які можна виконувати паралельно. Кожне завдання має значні дані в пам'яті. Тому я хочу мати можливість обмежити кількість завдань, які очікують на даний момент. Якщо я створюю ThreadPoolExecutor так: ThreadPoolExecutor executor = new ThreadPoolExecutor(numWorkerThreads, numWorkerThreads, …


5
Одночасний словник Правильне використання
Чи правильно я вважаю, що це правильне використання одночасного словника private ConcurrentDictionary<int,long> myDic = new ConcurrentDictionary<int,long>(); //Main thread at program startup for(int i = 0; i < 4; i++) { myDic.Add(i, 0); } //Seperate threads use this to update a value myDic[InputID] = newLongValue; У мене немає блокувань тощо, і …

4
Коли корисний ConcurrentSkipListSet?
Я щойно побачив цю структуру даних в Java 6 API, і мені цікаво, коли це буде корисним ресурсом. Я вчуся на іспит scjp, і я не бачу, щоб це було висвітлено в книзі Кеті Сьєрри, хоча я бачив пробні іспитові запитання, в яких про це згадується.

2
Чому в Котліні немає ключових слів одночасності?
Чому немає ключових слів для синхронізації / паралельності? Поки моє дослідження дає мені одне рішення, ви обгортаєте кілька класів високого рівня і використовуєте їх для обробки паралельності. Що стосується проекту в чистому Котліні, що робити, якщо є потреба в невеликому високооптимізованому компоненті, який обробляє паралельність тощо? У мене таке враження, …

6
Як перервати BlockingQueue, який блокує на take ()?
У мене є клас, який бере об'єкти з a BlockingQueueта обробляє їх, викликаючи take()безперервний цикл. У якийсь момент я знаю, що більше жодних об'єктів не буде додано в чергу. Як перервати take()метод, щоб він перестав блокувати? Ось клас, який обробляє об’єкти: public class MyObjHandler implements Runnable { private final BlockingQueue<MyObj> …

5
Вирішення незручно паралельних проблем за допомогою багатопроцесорної обробки Python
Як можна використовувати багатопроцесорну обробку для вирішення незручно паралельних проблем ? Незвично паралельні проблеми, як правило, складаються з трьох основних частин: Зчитування вхідних даних (з файлу, бази даних, з'єднання tcp тощо). Запустіть обчислення на вхідних даних, де кожен розрахунок не залежить від будь-якого іншого обчислення . Запишіть результати обчислень (у …

4
Виловлювання повернутих значень із програмних програм
У наведеному нижче коді дається помилка компіляції, яка говорить "несподіваний вихід": x := go doSomething(arg) func doSomething(arg int) int{ ... return my_int_value } Я знаю, я можу отримати значення повернення, якщо нормально викликати функцію, не використовуючи goroutine. Або я можу використовувати канали тощо. Моє питання полягає в тому, чому неможливо …

10
Django: Як я можу захистити від одночасної модифікації записів бази даних
Якщо існує спосіб захисту від одночасних модифікацій однієї і тієї ж бази даних двома або більше користувачами? Було б прийнятно показувати повідомлення про помилку користувачеві, який виконує другу операцію фіксації / збереження, але дані не повинні перезаписуватися мовчки. Я думаю, що блокування входу не є можливим, оскільки користувач може скористатися …

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