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

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

9
Android SDK AsyncTask doInBackground не працює (підклас)
Станом на 15.02.2012 я ще не знайшов ні гарного пояснення, ні причини, чому це не працює. Найближчим до рішення є використання традиційного підходу Thread , але навіщо тоді включати клас, який не (здається, працює) в Android SDK? Навіть ТАК! У мене є підклас AsyncTask: // ParseListener had a callback which …


9
Синхронізація доступу до SimpleDateFormat
У JavaDoc для SimpleDateFormat зазначено, що SimpleDateFormat не синхронізовано. "Формати дат не синхронізуються. Рекомендується створювати окремі екземпляри формату для кожного потоку. Якщо кілька потоків отримують доступ до формату одночасно, він повинен синхронізуватися зовні." Але який найкращий підхід до використання екземпляра SimpleDateFormat у багатопотоковому середовищі. Ось декілька варіантів, про які я …

16
Я чув, що i ++ не є потокобезпечним, чи є я безпечним для потоків?
Я чув, що i ++ не є потокозахищеним твердженням, оскільки при складанні він зводиться до зберігання вихідного значення десь як тимчасового, збільшуючи його, а потім замінюючи, що може бути перервано контекстним перемикачем. Однак мені цікаво про ++ i. Наскільки я можу зрозуміти, це призведе до однієї інструкції збірки, наприклад, "додати …
90 c++  c  multithreading 

7
Доступ до обробника потоку інтерфейсу користувача зі служби
Я пробую щось нове на Android, для чого мені потрібно отримати доступ до обробника потоку інтерфейсу користувача. Я знаю наступне: Потік інтерфейсу користувача має власний обробник та петлювач Будь-яке повідомлення буде поміщено в чергу повідомлень потоку інтерфейсу користувача Петель забирає подію та передає обробнику Обробник обробляє повідомлення та надсилає конкретну …

8
Як зробити мій ArrayList потокобезпечним? Інший підхід до проблеми на Java?
У мене є ArrayList, який я хочу використовувати для зберігання об’єктів RaceCar, які розширюють клас Thread, як тільки вони закінчаться. Клас, званий Race, обробляє цей ArrayList, використовуючи метод зворотного виклику, який викликає об'єкт RaceCar, коли його завершення виконується. Метод зворотного виклику, addFinisher (фінішер RaceCar), додає об’єкт RaceCar до ArrayList. Це …

11
Чи правомірно викликати метод запуску двічі в одному потоці?
Наступний код приводить до того, java.lang.IllegalThreadStateException: Thread already startedколи я вдруге викликав start()метод у програмі. updateUI.join(); if (!updateUI.isAlive()) updateUI.start(); Це трапляється вдруге, коли updateUI.start()називається. Я пройшов через нього кілька разів, і потік викликається і повністю запускається до завершення перед натисканням updateUI.start(). Виклик updateUI.run()дозволяє уникнути помилки, але змушує потік запускатися в …

6
Чи потрібно отримувати блокування перед викликом condition_variable.notify_one ()?
Я трохи заплутаний щодо використання std::condition_variable. Я розумію , що я повинен створити unique_lockна mutexперед викликом condition_variable.wait(). Я не можу знайти, чи слід мені також придбати унікальний замок перед дзвінком notify_one()або notify_all(). Приклади на cppreference.com суперечливі. Наприклад, на сторінці notify_one подано такий приклад: #include <iostream> #include <condition_variable> #include <thread> #include …

5
Розуміння java.lang.Thread.State: ОЧІКУВАННЯ (парковка)
По-перше, справді тупе запитання, мені просто цікаво, що означає очікування "паркування"? Чи нитка чекає на припаркування, чи вона просто припаркована і, отже, перебуває в стані очікування? І коли відбувається така парковка, скільки ресурсів процесора / пам'яті забирається? Яка мета паркування нитки? По-друге, розглянувши метод паркування в API Java-потоку Вимикає поточний …

3
Потрібно зрозуміти використання SemaphoreSlim
Ось код, який я маю, але я не розумію, що SemaphoreSlimробиться. async Task WorkerMainAsync() { SemaphoreSlim ss = new SemaphoreSlim(10); List<Task> trackedTasks = new List<Task>(); while (DoMore()) { await ss.WaitAsync(); trackedTasks.Add(Task.Run(() => { DoPollingThenWorkAsync(); ss.Release(); })); } await Task.WhenAll(trackedTasks); } void DoPollingThenWorkAsync() { var msg = Poll(); if (msg != …

2
Багатопроцесорна обробка призводить до аварійного завершення роботи Python і видає помилку, можливо, виконувалася в іншому потоці під час виклику fork ()
Я відносно новачок у Python і намагаюся реалізувати багатопроцесорний модуль для мого циклу for. У мене є масив URL-адрес зображень, що зберігаються в img_urls, і мені потрібно завантажити та застосувати деяке бачення Google. if __name__ == '__main__': img_urls = [ALL_MY_Image_URLS] runAll(img_urls) print("--- %s seconds ---" % (time.time() - start_time)) Це …

3
PHP Thread Safe і Non-Thread Safe для Windows
Я завантажую PHP для Windows. Я отримав 2 варіанти на веб-сайті. PHP Thread Safe PHP без потоків безпечний Будь ласка, дайте відповіді на такі запитання: Яка різниця між ними? Які переваги та недоліки один перед одним? Я розробляю веб-сайт електронної комерції, на якому буде великий трафік, який з них рекомендується …


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

9
Монітор проти блокування
Коли доречно використовувати Monitorклас або lockключове слово для безпеки потоків у C #? РЕДАГУВАТИ: З відповідей на сьогоднішній день видно, що lockце коротка рука для серії дзвінків до Monitorкласу. Для чого саме потрібен короткий виклик блокування? Або більш явно, class LockVsMonitor { private readonly object LockObject = new object(); public …

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