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

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



13
Як дочекатися завершення кількості ниток?
Який спосіб просто дочекатися завершення всіх потокових процесів? Наприклад, скажімо, у мене є: public class DoSomethingInAThread implements Runnable{ public static void main(String[] args) { for (int n=0; n<1000; n++) { Thread t = new Thread(new DoSomethingInAThread()); t.start(); } // wait for all threads' run() methods to complete before continuing } …


5
Як вибрати між Semaphore та SemaphoreSlim?
Їх публічний інтерфейс виглядає схожим. У документації зазначено, що SemaphoreSlim є легкою альтернативою і не використовує семафори Windows Kernel. Цей ресурс зазначає, що SemaphoreSlim набагато швидше. У яких ситуаціях SemaphoreSlim має більше сенсу над Семафором і навпаки?

4
Призначення посилань є атомним, тому для чого потрібен Interlocked.Exchange (ref об'єкт, об'єкт)?
У своєму багатопотоковому веб-службі asmx у мене було поле класу _allData власного типу SystemData, яке складається з кількох List<T>і Dictionary<T>позначене як volatile. Дані системи ( _allData) оновлюються раз у раз, і я роблю це, створюючи інший об’єкт, який називається, newDataі наповнюю його структури даних новими даними. Коли це зроблено, я …

6
Як масштабувати нитки відповідно до ядер CPU?
Я хочу вирішити математичну задачу з декількома потоками на Java. мою математичну проблему можна розділити на робочі одиниці, які я хочу вирішити в декількох потоках. Я не хочу мати фіксовану кількість потоків, що працюють над ним, але натомість кількість потоків, що відповідає кількості ядер CPU. Моя проблема полягає в тому, …

4
багатопроцесорність проти багатопоточності проти asyncio в Python 3
Я виявив, що в Python 3.4 існує декілька різних бібліотек для багатопроцесорної обробки / потокової роботи: багатопроцесорність проти потоків проти asyncio . Але я не знаю, який із них використовувати, чи є «рекомендованим». Вони роблять одне і те ж, або відрізняються? Якщо так, який для чого використовується? Я хочу написати …

9
Які основні напрямки використання урожайності (), і чим він відрізняється від приєднання () та переривання ()?
Я трохи заплутаний у використанні yield()методу на Java, зокрема у наведеному нижче прикладі коду. Я також читав, що return () використовується "для запобігання виконанню потоку". Мої запитання: Я вважаю, що наведений нижче код призводить до того ж результату як при використанні, так yield()і при його використанні. Це правильно? Назвіть основні …

9
Як я можу поширювати винятки між потоками?
У нас є функція, до якої запускається одна нитка (ми називаємо цю основну нитку). В рамках функції ми створюємо декілька робочих потоків, щоб зробити інтенсивну роботу процесора, дочекатися закінчення всіх потоків, а потім повернути результат на основний потік. Результат полягає в тому, що абонент може використовувати функцію наївно, а внутрішньо …

8
Як підтримувати роботу консолі .NET?
Розглянемо додаток Console, який запускає деякі сервіси окремим потоком. Все, що потрібно зробити - це почекати, коли користувач натисне Ctrl + C, щоб вимкнути його. Який із перелічених нижче є кращим способом зробити це? static ManualResetEvent _quitEvent = new ManualResetEvent(false); static void Main() { Console.CancelKeyPress += (sender, eArgs) => { …

3
Безпека теми в словнику Python
У мене є клас, який містить словник class OrderBook: orders = {'Restaurant1': None, 'Restaurant2': None, 'Restaurant3': None, 'Restaurant4': None} @staticmethod def addOrder(restaurant_name, orders): OrderBook.orders[restaurant_name] = orders І я запускаю 4 теми (по одному для кожного ресторану), які викликають метод OrderBook.addOrder. Ось функція, яку виконує кожен потік: def addOrders(restaurant_name): #creates orders …


7
Чи потрібні Mutexes у JavaScript?
Я бачив це посилання: Реалізація взаємного виключення в JavaScript . З іншого боку, я прочитав, що в JavaScript немає ниток, але що це означає? Коли відбуваються події, де в коді вони можуть перерватися? І якщо в JS немає ниток, чи потрібно використовувати мютекси в JS чи ні? Зокрема, мені цікаво …

4
Як відслідковувати процес дитини за допомогою strace?
Раніше я straceкоротко приєднувався до процесу. Процес створив 90 ниток. Коли я знайшов ображаючу нитку, мені довелося втомливо шукати батьківську нитку, потім бабусю та дідусь і так далі до кореневого процесу. Чи є хитрість чи інструмент, щоб швидко зрозуміти, яка нитка створила іншу? Або ще краще, надрукуйте дерево творінь ниток, …

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