Публикации по теме 'multithreading'
GIL в Питоне
Глобальная блокировка интерпретатора (GIL) в Python: благословение или проклятие?
Python — это популярный язык программирования, который широко используется в различных приложениях, включая веб-разработку, научные вычисления, анализ данных и машинное обучение. Python известен своей простотой, удобством использования и гибкостью. Однако одним из ограничений Python является глобальная блокировка интерпретатора (GIL), которая может повлиять на производительность многопоточных программ...
Пункт 78: Синхронизируйте доступ к общим изменяемым данным
Что такое синхронизация?
а) Исключение : средство взаимного исключения для предотвращения того, чтобы объект в несогласованном состоянии был замечен одним потоком, пока он модифицируется другим.
б) Связь : синхронизация гарантирует, что изменение, выполненное одним потоком после его завершения, будет видно другим потокам, защищенным той же блокировкой. Без синхронизации другой поток может не увидеть изменения, внесенные первым потоком. .
Синхронизация необходима для надежной связи..
Вопросы по теме 'multithreading'
Лучшие практики потоковой передачи
Многие проекты, над которыми я работаю, имеют плохую реализацию потоковой передачи, и мне приходится их отслеживать. Есть ли лучший способ обработки потоков. Мой код всегда ждет события, которое никогда не срабатывает.
Я вроде как думаю о шаблоне...
11.03.2024
NSOperation и потоки CoreData
Я передаю некоторые данные NSManagedObject между двумя потоками, используя NSOperationQueue с максимальным уровнем параллелизма 1, и мне нужны некоторые предложения о том, правильно ли я делаю это.
Поскольку NSManagedObject не является...
19.04.2024
Потоки С#, WaitHandle.WaitAll
Возможно ли не блокировать winForm с помощью WaitHandle.WaitAll(waitHandles), а просто установить другой поток, который будет срабатывать при получении сигнала компилирования от WaitHandle.WaitAll?
06.03.2024
Может ли Java понять, что потоки с одинаковыми именами являются разными потоками?
На каждой итерации создается поток «студент». Потому что все эти темы называются «студент». Может ли Java понять, что это разные потоки?
while (true) {
System.out.println("Waiting for client...");
// open client socket to accept...
03.05.2024
Самое эффективное количество потоков?
У меня есть несколько студентов, которым я помогаю с потоковым сервером. Они используют синхронные сокеты и один поток на клиента, что не очень эффективно. Лучше использовать асинхронные методы, чтобы позволить .Net использовать IOCP.
Дело в том,...
15.05.2024
правильный способ запустить код с тайм-аутом в Python
Я поискал в Интернете и нашел несколько обсуждений SO и рецептов ActiveState для запуска некоторого кода с таймаутом. Похоже, есть несколько общих подходов:
Используйте поток, который запускает код, и join его с тайм-аутом. Если истекло время...
18.03.2024
Как создать и запустить новый поток?
Я создал класс System::Windows::Forms , который определяет функцию:
System::Void expanding(System::Windows::Forms::TreeViewEventArgs^ e)
{
//some code
}
Который я хочу вызвать в отдельном потоке, набрав:
Thread^ thisThread = gcnew...
21.03.2024
Многопоточность ASP.NET
У меня есть страница ASP.NET, которая отправляет электронное письмо списку пользователей — этот список может быть довольно большим, и мы обнаруживаем, что страница ASP.NET часто отключается по тайм-ауту.
Что мы хотим сделать, так это отправить эти...
13.05.2024
Пользовательский модальный диалог
Я создаю свой собственный диалог, который в основном представляет собой JPanel, установленный как стекло на JFrame. Я хочу сделать свой диалог модальным в том смысле, что весь код после setVisible() не выполняется, пока диалог видим, и после закрытия...
20.04.2024
Исключение неподдерживаемой операции в потоке
Я создал поток для определенного процесса, и я запускаю этот поток одновременно с диалогом прогресса. когда процесс завершится, диалоговое окно прогресса закроется. до этого проблем нет, но когда пользователь дважды нажмет кнопку «Назад» на...
08.03.2024
Является ли двойная проверка блокировкой моего самого чистого варианта для обеспечения того, чтобы задача вызывалась один раз?
У меня есть класс, которому необходимо периодически выполнять некоторую обработку своего частного состояния (ConcurrentDictionary). Я делаю это через Task.Factory.StartNew(doStuff) . Поскольку эта задача изменяет коллекцию, я хочу убедиться, что...
13.04.2024
Имеет ли смысл производитель/потребитель boost::strand?
В этой записи блога (2010 г.) кто-то пытается решить Проблема производителя/потребителя с использованием средства Boost::strand. У меня такое ощущение, что он упустил суть и что его программа никогда не запускает одновременно какого-то...
02.05.2024
Разница в использовании ЦП между ps aux и -ef
[user@centos-vm-02 ~]$ ps aux|grep python
user 4182 0.0 0.0 9228 1080 ? Ss 02:00 0:00 /bin/sh -c cd data/trandata && /usr/local/bin/python2.7 main.py >> /dev/null 2>&1
user 4190 0.1 0.1 341108 10740 ?...
12.05.2024
Необычный случай сбора был изменен при обработке фонового потока
Я пытаюсь загрузить данные из текстового файла в фоновом потоке с обработчиком завершения, который выпишет plist после того, как я обработаю данные с помощью регулярного выражения. Я получаю сообщение об ошибке «Коллекция была видоизменена при...
22.04.2024
Parallel.ForEach и DbContext
Я использую Parallel.ForEach , и это значительно повышает производительность моего кода, но меня интересует DbContext с несколькими потоками. Я знаю, что это не потокобезопасно, поэтому я использую блокировки там, где мне нужно.
Цикл перебирает...
09.04.2024
Исключение слишком много соединений с Hibernate
У меня ошибка при попытке подключиться к Hibernate. Код создает 1000 потоков, и каждый поток открывает соединение. В любом случае, код довольно короткий, и они быстро закрывают соединения.
Я печатаю счетчик с общим количеством подключений...
10.04.2024
Можно ли программно изменить обработку недоставленных сообщений в очереди во встроенном брокере Java?
Задний план
На высоком уровне у меня есть приложение Java, в котором определенные события должны запускать определенные действия для текущего пользователя. Однако события могут быть очень частыми, а действие всегда одно и то же. Поэтому, когда...
20.04.2024
Как я могу использовать параллелизм (потоки) в JavaFX (с FXML!!! (JavaFX Scene Builder))?
Как я могу использовать потоки в JavaFX с FXML и классом задач или услуг?
Мне нужен параллелизм в моей программе, потому что я использую очень длинный цикл. Если я закодирую это "вручную" (без FXML), то это сработает. А вот с FXML не работает...
07.03.2024
многоядерное, многопоточное ускорение: чтение через CSV с использованием TMemoryStream
Я пишу параллельный код для перечисления большого набора CSV-файлов, каждый из которых содержит исторические данные об акциях (более 6500 символов), и рассчитываю, достигла ли каждая акция своего исторического максимума.
Я реализовал пул потоков и...
21.04.2024
Как я могу избежать создания подклассов во время ожидания завершения Executor?
У меня есть Executor , который должен быть завершен, прежде чем я смогу отключить другой Executor , я думал о попытке реализовать тактику ожидания-уведомления, но уведомление должно прийти от executor.isTerminated() , поэтому, если я не...
14.03.2024
Новые материалы
Как развивается смешанно-целочисленное программирование, часть 7
Унифицированная техника раннего завершения для первично-двойственных алгоритмов в смешанно-целочисленном коническом программировании (arXiv)
Автор : Ювэнь Чэнь , Кэтрин Нин , Поль Гулар..
Как научить модель Keras распознавать текст переменной длины
Я некоторое время играл с официальным примером Keras image_ocr.py и хочу поделиться своими выводами в этом посте.
В официальном примере выполняется только обучение модели, но отсутствует..
Практическая пакетная нормализация
История начинается после использования инициализации He вместе с ELU (или любым вариантом ReLU) может значительно снизить опасность проблем с исчезающими/взрывающимися градиентами в начале..
Поэзия онлайн-кодирования: путешествие пикселей и страсти
В мире, наполненном инновациями, онлайн-обучение программированию становится холстом, на котором обретает форму полотно вашей мечты. Это больше, чем просто создание строк кода; это сродни..
Обработка изображений с помощью Python - размытие и повышение резкости для начинающих
Как применить ядра свертки к цветным изображениям?
В этой статье мы обсудим, как применять ядра размытия и повышения резкости к изображениям. Эти базовые ядра составляют основу многих более..
Ограничение скорости в .NET Core 7 Web API
Что такое ограничение скорости?
Ограничение скорости — это процесс, используемый для ограничения количества запросов, разрешенных для определенного ресурса в указанном временном окне. .NET..
Стабильная Diffusion 1.0 выдаёт более красивые картинки, чем SD 2.1?! Почему?
Удивительные открытия, которые я сделал недавно. Смотрите в видео: https://youtu.be/PakgD6FewoU
Есть одно логичное объяснение — что у вас?