Вопросы по теме 'gil'

Параллельное сопоставление файлов, Python
Я пытаюсь улучшить сценарий, который сканирует файлы на наличие вредоносного кода. У нас есть список шаблонов регулярных выражений в файле, по одному шаблону в каждой строке. Эти регулярные выражения предназначены для grep, поскольку наша текущая...
4954 просмотров

Выполнение вычислений в фоновом потоке python/pygtk
Есть ли способ запустить поток Python в фоновом режиме, не блокируя остальную часть Python во время трудоемких инструкций? Я пытаюсь выполнять трудоемкие вычисления в фоновом потоке приложения python (pygtk). Я понимаю, как работают потоки....
1512 просмотров

Многопроцессорность file.read() и GIL
Я читал, что некоторые функции Python, реализованные на C, которые, как я полагаю, включают в себя file.read(), могут освобождать GIL во время работы, а затем возвращать его после завершения и, таким образом, использовать несколько ядер, если они...
1247 просмотров
schedule 29.04.2023

Производительность ухудшается для запроса на основе диапазона в широком семействе столбцов cassandra при реализации с использованием многопоточных вызовов pycassa xget()?
У меня есть типичное широкое семейство столбцов с {rowkey--> uuid4+дата и данные временных рядов в виде столбцов}, для которых я реализовал запрос на основе диапазона, используя вызовы pycassa xget(). Не то чтобы меня мучила низкая производительность...
153 просмотров

заблокировать все потоки, кроме одного, в python
у меня есть начальная точка потоков for _ in xrange(THREADS_COUNT): global thread_ thread_ = threading.Thread(target=self.mainWork, args=(mainProject,victims)) thread_.start() time.sleep(5) и мне нужно...
767 просмотров
schedule 20.02.2022

Использование словаря в Cython, особенно внутри nogil
У меня есть словарь, my_dict = {'a':[1,2,3], 'b':[4,5] , 'c':[7,1,2]) Я хочу использовать этот словарь внутри функции Cython nogil. Итак, я попытался объявить это как cdef dict cy_dict = my_dict До этого этапа нормально. Теперь...
18594 просмотров
schedule 03.11.2022

Почему многопоточность не ускоряет синтаксический анализ HTML с помощью lxml?
Я пытаюсь понять, почему запуск нескольких парсеров в параллельных потоках не ускоряет синтаксический анализ HTML. Один поток выполняет 100 задач в два раза быстрее, чем два потока по 50 задач каждый. Вот мой код: from lxml.html import...
1479 просмотров
schedule 09.06.2024

Вызов функции python из C в качестве обратного вызова. Как правильно обращаться с GIL?
Я использую cytpes для переноса C API. Одна из функций API позволяет зарегистрировать обратный вызов. Я использую CFUNCTYPE для указания типа функции и создания экземпляра CFUNCTYPE из функции python, которую предоставляет пользователь моей...
829 просмотров
schedule 08.01.2024

Глобальная блокировка интерпретатора Ruby (GIL) — rb_thread_call_without_gvl
Я изо всех сил пытаюсь передать аргументы rb_thread_call_without_gvl . Это простой код, который я использую. #include <stdio.h> #include <ruby.h> #include <ruby/thread.h> VALUE summa(VALUE self, VALUE x) { double result;...
1219 просмотров
schedule 08.10.2022

Почему я должен беспокоиться о безопасности потоков в CPython?
Насколько я понимаю, глобальная блокировка интерпретатора позволяет только одному потоку получить доступ к интерпретатору и выполнить байт-код. Если это так, то в любой момент только один поток будет использовать интерпретатор и его память. При...
986 просмотров

Понимание упреждающей многозадачности с блокировками и Python GIL?
Я читаю Grok The GIL , и в нем есть следующее утверждение: обсуждение блокировки. Пока ни один поток не удерживает блокировку, пока он находится в спящем режиме, выполняет ввод-вывод или какую-либо другую операцию сбрасывания GIL, вы должны...
757 просмотров
schedule 16.10.2023

Зачем нужен threading.Lock (), когда у Cpython есть GIL?
Я изучаю язык питона. У меня нет хорошего понимания потоков, и я не могу думать о ситуации, когда вам понадобится threading.Lock (), поскольку GIL CPython позволяет выполнять только один поток за раз, поэтому я думаю, что критический раздел не может...
146 просмотров