multithreading- все статьи тега ➜ страница 9
Условие против ожидания уведомляет механизм
в чем преимущество использования интерфейса условий/реализаций по сравнению с обычным механизмом уведомления ожидания? Здесь я цитирую комментарии, написанные Дуг Леа: условные факторы из методов монитора объектов (wait, notify и notifyAll) в отдельные объекты, чтобы дать эффект наличия нескольких наборов ожидания для каждого объекта, объединяя их с использованием произвольных реализаций блокировки. Если блокировка заменяет использование синхронизированных методов и операторов, a Условие зам ...
Обработка одного файла из нескольких процессов в python
У меня есть один большой текстовый файл, в котором я хочу обрабатывать каждую строку ( делать некоторые операции ) и хранить их в базе данных. Поскольку одна простая программа занимает слишком много времени, я хочу, чтобы это было сделано с помощью нескольких процессов или потоков. Каждый поток / процесс должен считывать разные данные (разные строки) из этого одного файла и выполнять некоторые операции над их фрагментом данных (строк) и помещать их в базу данных, чтобы в конце концов у меня был ...
Насколько сложно многопоточность Haskell?
Я слышал, что в Haskell создать многопоточное приложение так же просто, как взять стандартное приложение Haskell и скомпилировать его с помощью -threaded флаг. Другие случаи, однако, описали использование в исходном коде. каково состояние многопоточности Haskell? Насколько легко это ввести в программы? Есть ли хороший многопоточный учебник, который проходит через эти различные команды и их использование? ...
Блокировка чтения / записи в C++
Я ищу хороший замок для чтения / записи в C++. У нас есть случай использования одного нечастого писателя и многих частых читателей, и мы хотели бы оптимизировать для этого. Предпочтительно я хотел бы кросс-платформенное решение, однако Windows только один будет приемлемым. ...
Это неблокирующий, однопоточный асинхронный веб-сервер (как узел.js) возможно in.NET?
Я смотрел на этот вопрос, ища способ создать однопоточный, основанный на событиях неблокирующий асинхронный веб-сервер в. NET. этот ответ сначала выглядел многообещающим, утверждая, что тело кода выполняется в одном потоке. однако, я проверил это в C#: using System; using System.IO; using System.Threading; class Program { static void Main() { Console.WriteLine(Thread.CurrentThread.ManagedThreadId); var sc = new SynchronizationContext(); SynchronizationContext ...
Как поток должен закрыть себя в Java?
Это короткий вопрос. В какой-то момент моя нить понимает, что это должно быть самоубийство. Каков наилучший способ сделать это: нить.currentThread().прервать(); возврат; кстати, почему в первом случае нужно использовать currentThread? Это Thread не относится к текущей теме? ...
фоновая функция в Python
У меня есть скрипт на Python, который иногда отображает изображения для пользователя. Изображения иногда могут быть довольно большими, и они часто используются повторно. Отображение их не является критическим, но отображение сообщения, связанного с ними. У меня есть функция, которая загружает изображение, необходимое и сохраняет его локально. Прямо сейчас он запускается в строке с кодом, который отображает сообщение пользователю, но иногда это может занять более 10 секунд для нелокальных изображ ...
Как получить указатель интерфейса JNI (JNIEnv *) для асинхронных вызовов
Я узнал, что указатель интерфейса JNI (JNIEnv *) действителен только в текущем потоке. Предположим, я запустил новый поток внутри собственного метода; как он может асинхронно отправлять события в метод Java? Поскольку этот Новый Поток не может иметь ссылку (JNIEnv *). Хранение глобальной переменной для (JNIEnv *), по-видимому, не будет работать? ...
Okhttp ответные обратные вызовы на основной поток
Я создал вспомогательный класс для обработки всех моих http-вызовов в моем приложении. Это простая одноэлементная оболочка для okhttp, которая выглядит так (я опустил некоторые неважные части): public class HttpUtil { private OkHttpClient client; private Request.Builder builder; ... public void get(String url, HttpCallback cb) { call("GET", url, cb); } public void post(String url, HttpCallback cb) { call("POST", url, cb); } private void call( ...
Получить статус std:: future
можно ли проверить, если a std::future закончил или нет? Насколько я могу судить, единственный способ сделать это-позвонить wait_for С нулевой продолжительностью и проверить, если статус ready или нет, но есть лучший способ? ...
Как ограничить время выполнения вызова функции в Python
в моем коде есть вызов функции, связанной с сокетом, эта функция из другого модуля, таким образом, вне моего контроля, проблема в том, что она блокируется в течение нескольких часов, что совершенно неприемлемо, как я могу ограничить время выполнения функции из моего кода? Я думаю, что решение должно использовать другой поток. ...
Отладка нескольких потоков в eclipse
в методе, который я отлаживаю, я создаю новый поток. Мне нужно отладить выполнение этого нового потока, а не родительского потока. Как я могу сделать это в Eclipse? ...
Разница между TPL & async/await (обработка потоков)
пытаясь понять разницу между TPL & async/await когда дело доходит до создания потока. я считаю, что ОСАГО (TaskFactory.StartNew) работает аналогично ThreadPool.QueueUserWorkItem в том, что он ставит в очередь работу над потоком в пуле потоков. Это конечно, если вы не используете TaskCreationOptions.LongRunning, который создает новый поток. я думал async/await будет работать точно так по существу: TPL: Factory.StartNew( () => DoSomeAsyncWork() ) .ContinueWith( (antecedent) = ...
Фоновый поток с QThread в PyQt
У меня есть программа, которая взаимодействует с радио, которое я использую через gui, который я написал в PyQt. Очевидно, что одной из основных функций радио является передача данных, но для этого постоянно мне нужно зацикливать записи, что приводит к зависанию графического интерфейса. Так как я никогда не имел дело с резьбой, я попытался избавиться от этих зависаний с помощью QCoreApplication.processEvents(). радио должно спать между передачами, хотя, так что gui все еще висит на основе того, ...
Активные потоки в ExecutorService
любые идеи, как определить количество активных потоков в настоящее время работает в ExecutorService? ...
Что делает` std:: kill dependency', и почему я хочу его использовать?
я читал о новой модели памяти C++11, и я наткнулся на (§29.3/14-15). Я пытаюсь понять, почему я хотел бы использовать его. я нашел пример в предложение N2664 но это не помогало. он начинается с показа кода без std::kill_dependency. Здесь первая строка переносит зависимость во вторую, которая переносит зависимость в операцию индексирования, а затем переносит зависимость в элемент это. Если, гипотетически, компилятор "знает", что массив заполнен нулями, он может оптимизировать этот вызов до do ...
Какой поток Java забивает процессор?
Допустим, ваша программа Java принимает 100% CPU. Он имеет 50 нитей. Вам нужно найти, какая нить виновата. Я не нашел инструмент, который может помочь. В настоящее время я использую следующую очень трудоемкую процедуру: выполнить jstack <pid>, где pid-идентификатор процесса процесса Java. Самый простой способ найти его-запустить другую утилиту, включенную в JDK -jps. Лучше перенаправить вывод jstack в файл. Поиск" запускаемых " потоков. Пропустите их что ждать на сокете (по какой-то прич ...
Как создать потоки на разных ядрах процессора?
допустим, у меня была программа на C#, которая делала что-то вычислительно дорогое, например, кодировала список WAV-файлов в mp3. обычно я кодировал файлы по одному, но, скажем, я хотел, чтобы программа выяснила, сколько ядер процессора у меня было и раскрутила поток кодирования на каждом ядре. Итак, когда я запускаю программу на четырехъядерном процессоре, программа выясняет, что это четырехъядерный процессор, выясняет, что есть четыре ядра для работы, а затем порождает четыре потока для кодиро ...
Правильное использование мьютексов в Python
Я начинаю с нескольких потоков в Python (или, по крайней мере, возможно, что мой скрипт создает несколько потоков). будет ли этот алгоритм правильным использованием мьютекса? Я еще не тестировал этот код, и он, вероятно, даже не будет работать. Я просто хочу, чтобы processData выполнялась в потоке (по одному), а основной цикл while продолжал работать, даже если есть поток в очереди. from threading import Thread from win32event import CreateMutex mutex = CreateMutex(None, False, "My Crazy Mute ...
В чем разница между performSelectorOnMainThread и dispatch async в основной очереди?
у меня возникли проблемы с изменением представления внутри потока. Я попытался добавить подвида, но это заняло около 6 или более секунд, чтобы отобразить. Я, наконец, получил его работу, но я не знаю, как именно. Поэтому мне было интересно, почему это сработало и в чем разница между следующими методами: //this worked -added the view instantly dispatch_async(dispatch_get_main_queue(), ^{ //some UI methods ej [view addSubview: otherView]; } //this took around 6 or more seconds to display ...