Вопросы с тегом «multithreading»

Многопоточность - это способность компьютера или программы выполнять работу одновременно или асинхронно, используя несколько одновременных потоков выполнения (обычно называемых потоками).

10
C ++ 0x не имеет семафоров? Как синхронизировать потоки?
Правда ли, что C ++ 0x придет без семафоров? Уже есть несколько вопросов о переполнении стека относительно использования семафоров. Я использую их (семафоры posix) все время, чтобы позволить потоку ожидать какого-то события в другом потоке: 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); }); Я новичок в темах, поэтому ответьте пожалуйста подробно. Во-первых, я не знаю, что означает контекст, что программа сохраняет в формате originalContext? …
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
В чем разница между мьютексом и критическим разделом?
Пожалуйста, объясните с точки зрения Linux, Windows? Я программирую на C #, будут ли эти два термина иметь значение. Пожалуйста, постите как можно больше, с примерами и тому подобным .... Спасибо


10
Асинхронный против многопоточности - есть ли разница?
Всегда ли асинхронный вызов создает новый поток? Какая разница между двумя? Всегда ли асинхронный вызов создает или использует новый поток? Википедия говорит : В компьютерном программировании асинхронные события - это события, происходящие независимо от основного потока программы. Асинхронные действия - это действия, выполняемые по неблокирующей схеме, позволяющие основному потоку программы …

16
Потоки Windows: _beginthread против _beginthreadex против 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 …

3
Что означает thread_local в C ++ 11?
Меня смущает описание thread_localв C ++ 11. Насколько я понимаю, каждый поток имеет уникальную копию локальных переменных в функции. К глобальным / статическим переменным могут получить доступ все потоки (возможно, синхронный доступ с использованием блокировок). И thread_localпеременные видны всем потокам, но могут быть изменены только тем потоком, для которого они …

10
Пул потоков в C ++ 11
Актуальные вопросы : О C ++ 11: С ++ 11: пул std :: thread? Будет ли async (launch :: async) в C ++ 11 делать пулы потоков устаревшими, чтобы избежать создания дорогостоящих потоков? О Boost: C ++ boost thread повторное использование потоков boost :: thread и создание их пула! Как …

5
Когда использовать volatile с многопоточностью?
Если есть два потока, обращающихся к глобальной переменной, то во многих руководствах говорится, что переменная должна быть изменчивой, чтобы компилятор не кэшировал переменную в регистре и, таким образом, не обновлялся правильно. Однако два потока, оба обращающиеся к общей переменной, - это то, что требует защиты через мьютекс, не так ли? …

6
Как получить идентификатор потока из пула потоков?
У меня есть фиксированный пул потоков, в который я отправляю задачи (ограничено 5 потоками). Как я могу узнать, какой из этих 5 потоков выполняет мою задачу (что-то вроде «поток № 3 из 5 выполняет эту задачу»)? ExecutorService taskExecutor = Executors.newFixedThreadPool(5); //in infinite loop: taskExecutor.execute(new MyTask()); .... private class MyTask implements …


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.