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

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

7
Що таке монітор у Java?
На який монітор йдеться в одночасному програмуванні на Java? Коли я прочитав, що "кожен об'єкт асоціював монітор", що це означає? Це спеціальний об’єкт?

13
Неможливо зробити кешований пул ниток з обмеженням розміру?
Здається, неможливо зробити кешований пул потоків з обмеженням кількості потоків, які він може створити. Ось як статичний Executors.newCchedThreadPool реалізований у стандартній бібліотеці Java: public static ExecutorService newCachedThreadPool() { return new ThreadPoolExecutor(0, Integer.MAX_VALUE, 60L, TimeUnit.SECONDS, new SynchronousQueue<Runnable>()); } Отже, використовуючи цей шаблон, щоб продовжити, щоб створити кешований пул потоків фіксованого розміру: …

12
Як асинхронно викликати метод на Java
Нещодавно я переглядав goroutine Go і думав, що було б непогано мати щось подібне на Java. Наскільки я шукав поширений спосіб паралелізації виклику методу - це зробити щось на кшталт: final String x = "somethingelse"; new Thread(new Runnable() { public void run() { x.matches("something"); } }).start(); Це не дуже елегантно. …


6
Паралельні та послідовні черги в GCD
Я намагаюся повністю зрозуміти паралельні та послідовні черги в GCD. У мене є деякі питання і сподіваюся, що хтось може відповісти на мене чітко і в цьому питанні. Я читаю, що послідовні черги створюються та використовуються для виконання завдань одна за одною. Однак, що станеться, якщо: Я створюю послідовну чергу …

5
Як користуватися властивістю CancellationToken?
Порівняно з попереднім кодом для класу RulyCanceler , я хотів запустити код за допомогою CancellationTokenSource. Як я можу використовувати його, як зазначено в токенах скасування , тобто без викидання / лову винятку? Чи можу я використовувати IsCancellationRequestedмайно? Я намагався використовувати його так: cancelToken.ThrowIfCancellationRequested(); і try { new Thread(() => Work(cancelSource.Token)).Start(); …

6
AtomicInteger lazySet vs. set
У чому різниця між методами lazySetта setметодами AtomicInteger? Документація не багато говорити про lazySet: Врешті-решт встановлюється задане значення. Здається, що збережене значення не буде відразу встановлено на потрібне значення, а замість цього буде заплановано встановити деякий час у майбутньому. Але, яке практичне використання цього методу? Будь-який приклад?
116 java  concurrency  atomic 


5
LinkedBlockingQueue проти ConcurrentLinkedQueue
Моє запитання стосується цього питання, заданого раніше. У ситуаціях, коли я використовую чергу для спілкування між виробниками та споживачами, люди зазвичай рекомендують використовувати LinkedBlockingQueueабо ConcurrentLinkedQueue? Які переваги / недоліки використання одного над іншим? Основна відмінність, яку я бачу з точки зору API, полягає в тому, що a LinkedBlockingQueueможе бути необмежено …

7
Що було б краще для одночасних завдань на node.js? Волокна? Веб-працівники? або Нитки?
Я наткнувся на node.js десь тому і мені це дуже подобається. Але незабаром я з’ясував, що їй не вистачає можливості виконувати завдання, що вимагають процесора. Отже, я почав гуглінг і отримав такі відповіді, щоб вирішити проблему: Волокна, веб-працівники та нитки (потік-а-гого). Тепер, який з них використовувати, є плутанина, і одна …

4
Летучий чи дорогий?
Після прочитання кулінарної книги JSR-133 для письменників-компіляторів про реалізацію енергонезалежних, особливо в розділі "Взаємодія з атомними інструкціями", я вважаю, що для читання летючої змінної без оновлення вона потребує LoadLoad або LoadStore бар'єр. Далі на сторінці я бачу, що LoadLoad та LoadStore фактично не працюють на процесорах X86. Чи означає це, …



17
Як зробити блок методу submit () ThreadPoolExecutor, якщо він насичений?
Я хочу створити ThreadPoolExecutorтаке, що коли він досяг максимального розміру і черга заповнена, submit()метод блокується при спробі додати нові завдання. Чи потрібно мені реалізувати RejectedExecutionHandlerдля цього користувацький звичай чи існує існуючий спосіб зробити це за допомогою стандартної бібліотеки Java?

4
Різниця між DispatchQueue.main.async та DispatchQueue.main.sync
Я вже давно використовую DispatchQueue.main.asyncдля виконання операцій, пов'язаних з інтерфейсом користувача. Свіфт надає і те, і інше DispatchQueue.main.async і DispatchQueue.main.sync, і обидва виконуються в основній черзі. Хтось може сказати мені різницю між ними? Коли слід використовувати кожну? DispatchQueue.main.async { self.imageView.image = imageView self.lbltitle.text = "" } DispatchQueue.main.sync { self.imageView.image = …

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