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

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

10
C ++ 0x не має семафорів? Як синхронізувати потоки?
Чи правда, що C ++ 0x вийде без семафорів? Про стек переповнення вже є кілька питань щодо використання семафорів. Я використовую їх (posix semaphores) весь час, щоб потік чекав на якусь подію в іншій потоці: void thread0(...) { doSomething0(); event1.wait(); ... } void thread1(...) { doSomething1(); event1.post(); ... } Якби …


8
Що робить SynchronizationContext?
У книзі Програмування на C # є приклад зразка про SynchronizationContext: SynchronizationContext originalContext = SynchronizationContext.Current; ThreadPool.QueueUserWorkItem(delegate { string text = File.ReadAllText(@"c:\temp\log.txt"); originalContext.Post(delegate { myTextBox.Text = text; }, null); }); Я початківець у нитках, тому, будь ласка, відповідайте детально. По-перше, я не знаю, що означає контекст, що програма зберігає в програмі …
135 c#  .net  multithreading 

3
Розуміння циклу подій
Я думаю про це, і ось що я придумав: Давайте подивимось цей код нижче: console.clear(); console.log("a"); setTimeout(function(){console.log("b");},1000); console.log("c"); setTimeout(function(){console.log("d");},0); Надходить запит, і JS двигун починає виконувати код вище, крок за кроком. Перші два дзвінки - це синхронізовані дзвінки. Але коли мова йде про setTimeoutметод, він стає асинхронним виконанням. Але JS …



10
Асинхронний проти багатопотокових - Чи є різниця?
Чи завжди асинхронний дзвінок створює новий потік? Яка різниця між ними? Чи завжди асинхронний дзвінок створює чи використовує новий потік? У Вікіпедії сказано : У комп'ютерному програмуванні асинхронні події - це ті, що відбуваються незалежно від основного потоку програми. Асинхронні дії - це дії, виконані за неблокуючою схемою, що дозволяють …

16
Нарізка Windows: _beginthread vs _beginthreadex vs CreateThread C ++
Що є кращим способом запустити нитку _beginthread, _beginthreadxабо CreateThread? Я намагаюся визначити , які переваги / недоліки _beginthread, _beginthreadexі CreateThread. Усі ці функції повертають ручку потоку до новоствореного потоку, я вже знаю, що CreateThread надає трохи додаткової інформації, коли виникає помилка (це можна перевірити, зателефонувавши GetLastError) ... але які речі …
133 c++  c  multithreading  winapi 

6
Яку паралельну реалізацію черги я повинен використовувати на Java?
З JavaDocs: ConcurrentLinkedQueue є підходящим вибором , коли багато потоків буде загальний доступ до загальної колекції. Ця черга не дозволяє нульових елементів. ArrayBlockingQueue - класичний "обмежений буфер", в якому масив фіксованого розміру містить елементи, вставлені виробниками та витягнуті споживачами. Цей клас підтримує необов'язкову політику справедливості для замовлення очікуючих ниток для …

7
Як я можу запустити код на фоновому потоці на Android?
Я хочу, щоб якийсь код постійно працював у фоновому режимі. Я не хочу робити це в сервісі. Чи можливий інший спосіб? Я спробував зателефонувати в Threadклас, Activityале мої Activityзалишаються на задньому плані, а потім він зупиняється. ThreadКлас також перестає працювати. class testThread implements Runnable { @Override public void run() { …

6
Як отримати ідентифікатор потоку з пулу потоків?
У мене є фіксований пул потоків, якому я надсилаю завдання (обмежено 5 потоками). Як я можу дізнатись, яка з цих 5 ниток виконує мою задачу (щось на кшталт "тема № 3 з 5 виконує це завдання")? ExecutorService taskExecutor = Executors.newFixedThreadPool(5); //in infinite loop: taskExecutor.execute(new MyTask()); .... private class MyTask implements …

3
Що означає потік_локалу в C ++ 11?
Мене плутають з описом thread_localв C ++ 11. Наскільки я розумію, кожен потік має унікальну копію локальних змінних у функції. До глобальних / статичних змінних можна отримати доступ до всіх потоків (можливо, синхронізований доступ за допомогою блокування). І thread_localзмінні видимі для всіх потоків, але можуть змінюватися лише тим потоком, для …

10
Об'єднання ниток в C ++ 11
Відповідні питання : Про C ++ 11: C ++ 11: std :: об'єднано нитку? Чи зробить async (запуск :: async) в C ++ 11 пули потоків застарілими, щоб уникнути створення дорогих ниток? Про Boost: C ++ посилення потоку повторного використання потоків boost :: thread і створення пулу з них! Як …


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

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