multithreading- все статьи тега


Процессы vs потоки в Java

В вопросах, которые я прочитал, мы предлагаем использовать потоки над процессами, потому что потоки быстрее. Я решил пойти с потоками для моей программы, которая редактирует статьи в категории В Википедии. Программа получает список статей для редактирования,а затем делит статьи между 10 потоками. При этом я делаю 6-7 правок в минуту, и это такая же скорость, как если бы я не использовал потоки. Когда я запускаю несколько экземпляров моей программы и даю для каждого экземпляра категорию для обраб ...

Когда поток простаивает?

Что мы подразумеваем под неработающим потоком? И когда это происходит? Контекст: ThreadPoolExecutor-он говорит, что даже если есть простой поток, если corePoolSize мал, создается новый поток ...

Монитор против замка

Когда уместно использовать класс Monitor или ключевое слово lock для потокобезопасности в C#? Редактировать: Судя по ответам до сих пор, lock - это короткая рука для серии вызовов класса Monitor. Что именно замок звонок короткий-руку? Или более явно, class LockVsMonitor { private readonly object LockObject = new object(); public void DoThreadSafeSomethingWithLock(Action action) { lock (LockObject) { action.Invoke(); } } public void Do ...

98-й вызов функции pthread create() завершается ошибкой

Я запускаю следующую программу. Он просто создает нити, которые сразу же умирают. Я обнаружил, что после 93-98 (это немного отличается) успешных вызовов, каждый следующий вызов pthread_create () завершается ошибкой 11: ресурс временно недоступен. Я думаю, что правильно закрываю поток, поэтому он должен отказаться от любых ресурсов, которые у него есть, но некоторые ресурсы становятся недоступными. Первый параметр программы позволяет мне установить интервал между вызовами в pthread_create() но ...

C++11: зависит ли std:: thread в linux от библиотеки pthread?

Я читал, что pthread является библиотекой C и не совместим с объектной моделью C++, особенно когда речь идет об обработке исключений. Итак, я хочу знать в системе linux, как GCC / clang реализует std::thread, вызывает ли он некоторые собственные функции linux / API ядра или что-то еще? Также, как реализуется std::thread_local, связанный с __thread? ...

Win32: как получить процесс / поток, которому принадлежит мьютекс?

Я работаю с приложением, в котором в любой момент времени должен существовать только один экземпляр. Для этого есть несколько возможностей: Проверьте запущенные процессы на соответствие имени нашего EXE (ненадежно) найти главное окно (ненадежно, и у меня не всегда есть главное окно) Создайте мьютекс с уникальным именем (GUID) Вариант мьютекса кажется мне наиболее надежным и элегантным. Однако, прежде чем мой второй экземпляр завершится, Я хочу отправить сообщение в уже запущенный экземпл ...

Построение пользовательского интерфейса WPF на рабочем потоке?

Мне нужно создать довольно сложный WPF UI (сетка Хьюга) в коде (без XAML invloved). Есть ли способ остановить блокировку основного потока пользовательского интерфейса в процессе построения сетки? Есть ли какие-то части построения пользовательского интерфейса, которые можно передать на аутсорсинг рабочему потоку? Какие части создания пользовательского интерфейса на самом деле должны быть в потоке пользовательского интерфейса? вызов конструктора Контроль? Настройка свойств элементов управления? ...

Потоками в PyQt приложения: использование потоков в Qt или Python потоки?

Я пишу приложение с графическим интерфейсом, которое регулярно получает данные через веб-соединение. Поскольку это извлечение занимает некоторое время, это приводит к тому, что пользовательский интерфейс не реагирует во время процесса извлечения (его нельзя разделить на более мелкие части). Вот почему я хотел бы передать веб-соединение на аутсорсинг отдельному рабочему потоку. [Да, я знаю, теперь у меня есть две проблемы.] В любом случае, приложение использует PyQt4, поэтому я хотел бы знат ...

Поток находился в процессе прерывания в СП долго выполняется?

Я создал asp.net страница, которая выполняет очень длинный sp (около 1 часа времени выполнения sp в SSMS). Есть админ.aspx, которые активируют этот SP. В сети.config я добавил: <httpRuntime maxRequestLength="111264" requestValidationMode="2.0" executionTimeout="10000000" /> Также в свойствах соединения я добавил: _cmd.CommandTimeout = 0; // unlimited Функция использует jQuery ajax (to ashx) для активации sp (он работает и отлично) Jquery вызывает файл ashx, который активирует s ...

Python & C / C++ многопоточность: запуск нескольких потоков, выполняющих python в фоновом режиме C

У меня есть очень специфическая потребность : Я хочу создать консоль python с виджетом Qt и иметь возможность иметь несколько независимых интерпретаторов. Теперь позвольте мне попытаться объяснить, где мои проблемы и все попытки, которые я сделал, в порядке тех, которые я больше всего хотел бы сделать работающими с теми, которые я могу использовать по умолчанию Первый момент заключается в том, что все функции в Python C API (PyRun[...], Пьеваль[...] ...) нужно, чтобы GIL был заблокирован, чт ...

Создание экземпляра shared ptr с помощью make shared

Рассмотрим следующий код: class A { .... shared_ptr<std::thread> mThread; void Step(); void LaunchTrhead(); } void A::LaunchThread() { ... mThread=make_shared<std::thread>(Step); // This line gives an error ... } void A::Step() { ... } Я пытаюсь инициализировать общий указатель mThread так, чтобы он вызывал функцию Step. Однако компилятор выдает мне ошибку "недопустимая инициализация ссылки типа ... из выражения типа "неразрешенный перегруженны ...

DataGridView не будет перерисовываться при обновлении из другого потока

У меня проблема с обновлением DataGridView из другого потока. Позвольте мне объяснить. Когда пользователь нажимает кнопку на форме, мне нужно заполнить сетку несколькими строками. Этот процесс занимает некоторое время, поэтому я делаю это в отдельном потоке. Перед запуском потока я устанавливаю свойство DataGridView.Enabled в false, чтобы запретить пользователю редактировать элементы во время их добавления, а непосредственно перед окончанием рабочего потока я устанавливаю Enabled обратно в true. ...

Неустранимая ошибка во время Пы завершить во встраиваемых приложений на языке Python

Спасибо за помощь с этим-варианты этого вопроса задавались много раз, но я не нашел полного ответа. Я добавляю встроенный Python 3.4.2 к существующему инструменту симулятора, написанному на C++ с использованием классов MS MFC. Приложение является многопоточным, так что пользователь может выполнять сценарии Python и взаимодействовать с системой симулятора. Как мне успешно завершить работу? Я с помощью Джил и состояние потока команд в правильном порядке? Я заканчиваю интерпретатор Python поток пр ...

Убить запущенный вызов подпроцесса

Я запускаю программу с subprocess на Python. В некоторых случаях программа может зависнуть. Это выходит из-под моего контроля. Единственное, что я могу сделать из командной строки, из которой он запускается, - это CtrlEsc , который быстро убивает программу. Есть ли способ эмулировать это с subprocess? Я использую subprocess.Popen(cmd, shell=True) для запуска программы. ...

python & postgresql: надежная проверка наличия обновлений в определенной таблице

Ситуация: у меня есть живой торговый скрипт, который вычисляет все виды вещей каждые x минут в моем основном thread (Python ). отправка заказа осуществляется через такой thread. однако прием и исполнение таких приказов-это совсем другое дело, поскольку я не могу допустить, чтобы прошло x минут, но они мне нужны, как только они поступят. Я инициализировал другой thread, чтобы проверить наличие таких данных (выполнение), которые находятся в таблице базы данных (POSTGRES SQL). Проблема(ы): я не ...

Возможны ли проблемы параллелизма при использовании атрибута поведения службы WCF, установленного в ConcurrencyMode.Множественный и InstanceContextMode.Значение percall?

У нас есть служба WCF, которая делает много транзакционных вызовов NHibernate. Иногда мы наблюдали тайм-ауты SQL, хотя вызовы обновляли разные строки, а таблицы были настроены на блокировку уровня строк. После копания в логах, похоже, что разные потоки вводили одну и ту же точку в коде (наша транзакция с использованием блока), и обновление зависало на фиксации. Однако это не имело смысла, потому что мы считали, что следующий класс обслуживания атрибут заставлял уникальный поток выполнения на ...

Не дает контекста.MODE MULTI PROCESS to getSharedPreferences () сделать общие префы потокобезопасными?

SharedPreferences не являются потокобезопасными, как ясно сказано в Android docs: Примечание: В настоящее время этот класс не поддерживает использование через несколько процессы. Это будет добавлено позже. Тем не менее, у меня есть приложение, которое может запускать шесть других java.util.Threads, которые commit() для общих префиксов, и они могут быть запущены одновременно (хотя маловероятно, что все они будут). Вот почему я всегда получаю ссылку на мои общие префы из каждого из этих п ...

Python - иметь Родительский поток обрабатывать исключение дочерних потоков

Есть ли способ заставить родителя, породившего новый поток, перехватить исключение порожденных потоков? Ниже приведен реальный базовый пример того, что я пытаюсь сделать. Он должен перестать считать, когда возникает исключение, но я не знаю, как его поймать. Являются ли исключения потокобезопасными? Я хотел бы иметь возможность использовать модуль Subprocess, но я застрял с использованием Python 2.3 и не знаю, как еще это сделать. Возможно, используя модуль threading? import time import th ...

Разница между Abort и Interrupt в потоках in.NET

В чем разница между Thraed.Abort () и Thread.Прерывать(). Как я могу вызвать их в Потокобезопасном режиме Manner.It было бы полезно, если бы был приведен простой пример. ...