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

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

5
Почему в виртуальной машине Java нет GIL? Почему Python так нужен?
Я надеюсь, что кто-то может дать некоторое представление о том, что принципиально отличается от виртуальной машины Java, что позволяет ей красиво реализовывать потоки без необходимости глобальной блокировки интерпретатора (GIL), в то время как Python требует такого зла.
177 java  python  multithreading  jvm  gil 

4
Как использовать WPF Background Worker
В моем приложении мне нужно выполнить серию шагов инициализации, для завершения которых требуется 7-8 секунд, в течение которых мой пользовательский интерфейс перестает отвечать на запросы. Чтобы решить эту проблему, я выполняю инициализацию в отдельном потоке: public void Initialization() { Thread initThread = new Thread(new ThreadStart(InitializationThread)); initThread.Start(); } public void InitializationThread() …

6
Создание потоков в Python
У меня есть скрипт, и я хочу, чтобы одна функция запускалась одновременно с другой. Пример кода, который я посмотрел: import threading def MyThread (threading.thread): # doing something........ def MyThread2 (threading.thread): # doing something........ MyThread().start() MyThread2().start() У меня проблемы с получением этой работы. Я бы предпочел, чтобы это происходило с использованием …

10
Есть ли способ установить культуру для всего приложения? Все текущие темы и новые темы?
Есть ли способ установить культуру для всего приложения? Все текущие темы и новые темы? У нас есть имя культуры, хранящееся в базе данных, и когда наше приложение запускается, мы делаем CultureInfo ci = new CultureInfo(theCultureString); Thread.CurrentThread.CurrentCulture = ci; Thread.CurrentThread.CurrentUICulture = ci; Но, конечно, это «теряется», когда мы хотим что-то сделать …

8
Mutex пример / учебник? [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме переполнения стека. Закрыто 5 месяцев назад . Улучшить этот вопрос Я новичок в многопоточности и пытался понять, как работают мьютексы. Я много гуглил, …

8
Errno потокобезопасный?
В errno.h, эта переменная объявлена ​​так, extern int errno;поэтому мой вопрос: безопасно ли проверять errnoзначение после некоторых вызовов или использовать perror () в многопоточном коде. Это потокобезопасная переменная? Если нет, то какая альтернатива? Я использую Linux с GCC на архитектуре x86.
176 c  linux  multithreading  gcc 

7
Вызывающий поток должен быть STA, потому что многие компоненты пользовательского интерфейса требуют этого
Я использую http://www.codeproject.com/KB/IP/Facebook_API.aspx Я пытаюсь вызвать XAML, созданный с использованием WPF . Но это дает мне ошибку: Вызывающий поток должен быть STA, потому что это требуется для многих компонентов пользовательского интерфейса. Я не знаю что делать Я пытаюсь сделать это: FacebookApplication.FacebookFriendsList ffl = new FacebookFriendsList(); Но это дает мне эту …


3
Что такое std :: atomic?
Я понимаю, что std::atomic<>это атомный объект. Но в какой степени? Насколько я понимаю, операция может быть атомарной. Что именно означает сделать объект атомарным? Например, если два потока одновременно выполняют следующий код: a = a + 12; Тогда вся операция (скажем add_twelve_to(int)) атомная? Или внесены изменения в переменную atomic (так operator=())?

7
Технически, почему процессы в Erlang более эффективны, чем потоки ОС?
Характеристики Эрланга Из Erlang Programming (2009): Эрлангский параллелизм быстрый и масштабируемый. Его процессы легки в том, что виртуальная машина Erlang не создает поток ОС для каждого созданного процесса. Они создаются, планируются и обрабатываются в виртуальной машине независимо от базовой операционной системы. В результате время создания процесса составляет порядка микросекунд и …

2
Redis однопоточный, тогда как он делает параллельный ввод-вывод?
Пытаясь понять некоторые основы Redis, я наткнулся на интересную запись в блоге . Автор заявляет: Redis является однопоточным с epoll / kqueue и масштабируется бесконечно с точки зрения параллелизма ввода / вывода. Я, конечно, неправильно понимаю всю эту многопоточность, потому что считаю это утверждение загадочным. Если программа однопоточная, как она …

11
BackgroundWorker против фоновой темы
У меня есть стилистический вопрос о выборе реализации фонового потока, который я должен использовать в приложении Windows Form. В настоящее время у меня есть BackgroundWorkerформа, которая имеет бесконечный (while(true))цикл. В этом цикле я использую, WaitHandle.WaitAnyчтобы поток дремал, пока не произойдет что-то интересное. Один из дескрипторов события, на котором я жду, …

9
Почему volatile не считается полезным в многопоточном программировании на C или C ++?
Как показано в этом ответе, который я недавно опубликовал, мне кажется, что я не совсем понимаю полезность (или ее отсутствие) volatileмногопоточного программирования. Насколько я понимаю, в любой момент, когда переменная может быть изменена вне потока контроля фрагмента кода, обращающегося к ней, эта переменная должна быть объявлена volatile. Обработчики сигналов, регистры …

17
Как поймать исключение из потока
У меня есть основной класс Java, в классе я запускаю новый поток, в основном он ждет, пока поток не умрет. В какой-то момент я выбрасываю исключение времени выполнения из потока, но не могу поймать исключение, выброшенное из потока в основном классе. Вот код: public class Test extends Thread { public …

7
Каковы различия между различными параметрами синхронизации потоков в C #?
Может кто-нибудь объяснить разницу между: блокировка (некоторый объект) {} Использование Mutex Используя семафор Использование монитора Использование других классов синхронизации .Net Я просто не могу понять это. Мне кажется, первые два одинаковы?

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