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

Багатопотоковість - це здатність комп'ютера або програми виконувати роботу одночасно або асинхронно, використовуючи кілька одночасних потоків виконання (зазвичай їх називають потоками).

3
як дізнатися, що НЕ є потокобезпечним в рубіні?
починаючи з Rails 4 , за замовчуванням все повинно було працювати в різьбовому середовищі. Це означає весь код, який ми пишемо, І ВСІ коштовності, якими ми користуємось, повинні бутиthreadsafe отже, у мене є кілька запитань щодо цього: що НЕ є потокобезпечним в ruby ​​/ rails? Vs Що безпечно для різьблення …

9
ExecutorService, яка перериває завдання після таймауту
Я шукаю реалізацію ExecutorService, яка може мати тайм-аут. Завдання, які подаються до служби ExecutorService, перериваються, якщо вони виконуються довше, ніж очікуваний час. Реалізація такого звіра не є таким складним завданням, але мені цікаво, чи хтось знає про існуючу реалізацію. Ось що я придумав, спираючись на деякі обговорення нижче. Будь-які коментарі? …

8
Повернення значення з Thread
У мене є метод з HandlerThread. Значення змінюється всередині, Threadі я хотів би повернути його до test()методу. Чи є спосіб зробити це? public void test() { Thread uiThread = new HandlerThread("UIHandler"){ public synchronized void run(){ int value; value = 2; //To be returned to test() } }; uiThread.start(); }

28
Прості приклади тупикової ситуації
Я хотів би пояснити новачкам тупикові ситуації. У минулому я бачив багато прикладів тупикових ситуацій, деякі з яких використовували код, а інші - ілюстрації (наприклад, знамениті 4 машини ). Є також класичні проблеми, що легко заходять у глухий кут, такі як The Dining Philosophers , але вони можуть бути занадто …

6
CountDownLatch проти Semaphore
Чи є якась перевага використання java.util.concurrent.CountdownLatch замість java.util.concurrent.Semaphore ? Наскільки я можу сказати, наступні фрагменти майже еквівалентні: 1. Семафор final Semaphore sem = new Semaphore(0); for (int i = 0; i < num_threads; ++ i) { Thread t = new Thread() { public void run() { try { doStuff(); } …

3
Правильний спосіб реалізації нескінченного завдання. (Таймери проти завдання)
Отже, мій додаток повинен виконувати дію майже безперервно (з паузою приблизно 10 секунд між кожним запуском), поки програма працює або вимагається скасування. Робота, яку йому потрібно виконати, може тривати до 30 секунд. Чи краще використовувати System.Timers.Timer та використовувати AutoReset, щоб переконатися, що він не виконує дію до завершення попередньої "галочки". …


7
Безпека потоків MemoryCache, чи потрібно блокування?
Для початку дозвольте мені просто викинути його туди, щоб я знав, що наведений нижче код не є безпечним для потоків (виправлення: можливо). Я борюся з тим, щоб знайти реалізацію, яка є такою, і яку я дійсно можу досягти, щоб не пройти тестування. Зараз я переробляю великий проект WCF, якому потрібні …



4
Що таке замок та концепція повторного вступу взагалі?
Я завжди плутаюся. Хтось пояснить, що означає " реентрант" у різних контекстах? І чому ви хочете використовувати реентерабельного та нереагентного? Скажіть примітиви блокування pthread (posix), вони знову вступають чи ні? Яких підводних каменів слід уникати при їх використанні? Мутекс знову входить?

16
зачекайте, поки всі потоки закінчать свою роботу в Java
Я пишу додаток, яке містить 5 потоків, які одночасно отримують деяку інформацію з Інтернету та заповнюють 5 різних полів у буферному класі. Мені потрібно перевірити дані буфера та зберегти їх у базі даних, коли всі потоки закінчать свою роботу. Як я можу це зробити (отримувати сповіщення, коли всі потоки закінчать …

1
Цикл не бачить значення, зміненого іншим потоком без оператора друку
У моєму коді у мене є цикл, який чекає зміни стану з іншого потоку. Інший потік працює, але мій цикл ніколи не бачить зміненого значення. Це чекає вічно. Однак, коли я вкладаю System.out.printlnзаяву в цикл, це раптом працює! Чому? Нижче наведено приклад мого коду: class MyHouse { boolean pizzaArrived = …

8
Синхронізація нефінального поля
Попередження відображається кожного разу, коли я синхронізуюсь із нефінальним полем класу. Ось код: public class X { private Object o; public void setO(Object o) { this.o = o; } public void x() { synchronized (o) // synchronization on a non-final field { } } } тому я змінив кодування таким …

7
Семафор - для чого корисний початковий підрахунок?
http://msdn.microsoft.com/en-us/library/system.threading.semaphoreslim.aspx Щоб створити семафор, мені потрібно вказати початковий та максимальний рахунок. MSDN стверджує, що початковий відлік - Початкова кількість запитів на семафор, які можуть бути надані одночасно. Хоча там зазначено, що максимальна кількість - Максимальна кількість запитів на семафор, які можуть бути надані одночасно. Я розумію, що максимальна кількість - …

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