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

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

6
std :: unique_lock <std :: mutex> или std :: lock_guard <std :: mutex>?
На этот вопрос есть ответы на Переполнение стека на русском : Чем std :: unique_lock отличается от std :: lock_guard? У меня есть два варианта использования. О. Я хочу синхронизировать доступ двумя потоками к очереди. Б. Я хочу синхронизировать доступ двух потоков к очереди и использовать условную переменную, поскольку один …

9
Пул потоков, похожий на пул многопроцессорных?
Существует ли класс Pool для рабочих потоков , аналогичный классу пула многопроцессорного модуля ? Мне нравится, например, простой способ распараллелить функцию карты def long_running_func(p): c_func_no_gil(p) p = multiprocessing.Pool(4) xs = p.map(long_running_func, range(100)) Однако я хотел бы сделать это без накладных расходов на создание новых процессов. Я знаю о GIL. Однако …

13
Вызывающий поток не может получить доступ к этому объекту, потому что другой поток владеет им
Мой код как ниже public CountryStandards() { InitializeComponent(); try { FillPageControls(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Country Standards", MessageBoxButton.OK, MessageBoxImage.Error); } } /// &lt;summary&gt; /// Fills the page controls. /// &lt;/summary&gt; private void FillPageControls() { popUpProgressBar.IsOpen = true; lblProgress.Content = "Loading. Please wait..."; progress.IsIndeterminate = true; worker = new …

20
Как получить возвращаемое значение из потока в Python?
Функция fooниже возвращает строку 'foo'. Как я могу получить значение'foo' которое возвращается из цели потока? from threading import Thread def foo(bar): print('hello {}'.format(bar)) return 'foo' thread = Thread(target=foo, args=('world!',)) thread.start() return_value = thread.join() «Один очевидный способ сделать это», показанный выше, не работает: thread.join()возвращено None.

15
Как запустить простой код в новом потоке?
У меня есть немного кода, который мне нужно запустить в потоке, отличном от графического интерфейса, так как в настоящее время он вызывает зависание формы во время выполнения кода (10 секунд или около того). Предположим, я никогда не создавал новую тему раньше; Что является простым / базовым примером того, как сделать …
340 c#  .net  multithreading 


16
Запуск кода в главном потоке из другого потока
В сервисе Android я создал поток (ы) для выполнения некоторых фоновых задач. У меня есть ситуация, когда поток должен опубликовать определенную задачу в очереди сообщений основного потока, например a Runnable. Есть ли способ , чтобы получить Handlerиз главного потока и поста Message/ Runnableк нему из другого потока? Спасибо,

29
Использование модуля «подпроцесс» с таймаутом
На этот вопрос есть ответы на Stack Overflow на русском : Прерывание процесса и задержка на исполнение Вот код Python для запуска произвольной команды, возвращающей свои stdoutданные, или для создания исключения для ненулевых кодов выхода: proc = subprocess.Popen( cmd, stderr=subprocess.STDOUT, # Merge stdout and stderr stdout=subprocess.PIPE, shell=True) communicate используется для …


11
Получение идентификатора потока из потока
Например, в C # при отладке потоков вы можете видеть идентификатор каждого потока. Я не мог найти способ получить ту же нить программным способом. Я даже не смог получить идентификатор текущего потока (в свойствах Thread.currentThread). Итак, мне интересно, как Visual Studio получает идентификаторы потоков, и есть ли способ, например, получить …
319 c#  .net  multithreading 

8
Зачем использовать ReentrantLock, если можно использовать синхронизированный (это)?
Я пытаюсь понять, что делает блокировку параллелизма настолько важной, если ее можно использовать synchronized (this). В коде ниже, я могу сделать либо: синхронизировать весь метод или синхронизировать уязвимую область ( synchronized(this){...}) ИЛИ заблокируйте уязвимую область кода с помощью ReentrantLock. Код: private final ReentrantLock lock = new ReentrantLock(); private static List&lt;Integer&gt; …

7
Обработка InterruptedException в Java
В чем разница между следующими способами обработки InterruptedException? Каков наилучший способ сделать это? try{ //... } catch(InterruptedException e) { Thread.currentThread().interrupt(); } ИЛИ try{ //... } catch(InterruptedException e) { throw new RuntimeException(e); } РЕДАКТИРОВАТЬ: Я хотел бы также знать, в каких сценариях используются эти два.

5
C # версия синхронизированного ключевого слова Java?
Есть ли у c # собственная версия ключевого слова "synchronized" в Java? То есть в Java это может быть указано либо для функции, объекта или блока кода, например так: public synchronized void doImportantStuff() { // dangerous code goes here. } или public void doImportantStuff() { // trivial stuff synchronized(someLock) { …

12
Сколько потоков слишком много?
Я пишу сервер и отправляю каждое действие в отдельный поток при получении запроса. Я делаю это потому, что почти каждый запрос делает запрос к базе данных. Я использую библиотеку потоков, чтобы сократить строительство / уничтожение потоков. Мой вопрос: какова хорошая точка отсечения для потоков ввода-вывода, подобных этим? Я знаю, что …


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