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

94
подождите, пока все потоки закончат свою работу в java

Я пишу приложение, которое имеет 5 потоков, которые одновременно получают некоторую информацию из Интернета и заполняют 5 разных полей в классе буфера. Мне нужно проверить данные буфера и сохранить их в базе данных, когда все потоки завершат свою работу. Как я могу это сделать (получать...

94
Как использовать многопроцессорную очередь в Python?

Мне очень сложно понять, как многопроцессорная очередь работает на Python и как ее реализовать. Допустим, у меня есть два модуля Python, которые обращаются к данным из общего файла, назовем эти два модуля писателем и читателем. Мой план состоит в том, чтобы и читатель, и писатель помещали запросы...

93
Что такое блокировка реентера и концепция в целом?

Я всегда путаюсь. Может ли кто-нибудь объяснить, что означает реентерабельность в разных контекстах? И почему вы хотите использовать реентерабельность и не реентерабельность? Скажем, примитивы блокировки pthread (posix), являются ли они реентерабельными или нет? Каких подводных камней следует...

93
как узнать, что НЕ является потокобезопасным в Ruby?

начиная с Rails 4 , по умолчанию все должно работать в многопоточном окружении. Это означает, что весь код, который мы пишем, И ВСЕ используемые драгоценные камни должны бытьthreadsafe Итак, у меня есть несколько вопросов по этому поводу: что НЕ является потокобезопасным в ruby ​​/ rails? Vs Что...

92
Примеры простых тупиков

Я хотел бы объяснить новичкам многопоточность тупиков. В прошлом я видел много примеров тупиковых ситуаций, некоторые с использованием кода, а некоторые с использованием иллюстраций (например, знаменитые 4 машины ). Существуют также классические задачи, которые легко зайти в тупик, такие как The...

92
Правильный способ реализовать нескончаемую задачу. (Таймеры против задачи)

Итак, мое приложение должно выполнять действие почти непрерывно (с паузой в 10 секунд или около того между каждым запуском), пока приложение работает или запрашивается отмена. Необходимая работа может занять до 30 секунд. Не лучше ли использовать System.Timers.Timer и использовать AutoReset, чтобы...

91
Как сделать мой ArrayList потокобезопасным? Другой подход к проблеме в Java?

У меня есть список ArrayList, который я хочу использовать для хранения объектов RaceCar, расширяющих класс Thread, как только они закончат выполнение. Класс с именем Race обрабатывает этот список ArrayList с помощью метода обратного вызова, который объект RaceCar вызывает по завершении выполнения....

91
Синхронизация доступа к SimpleDateFormat

В javadoc для SimpleDateFormat указано, что SimpleDateFormat не синхронизируется. «Форматы даты не синхронизируются. Рекомендуется создавать отдельные экземпляры формата для каждого потока. Если несколько потоков обращаются к формату одновременно, он должен быть синхронизирован извне». Но как...

91
Синхронизация незавершенного поля

Предупреждение отображается каждый раз, когда я синхронизирую неокончательное поле класса. Вот код: public class X { private Object o; public void setO(Object o) { this.o = o; } public void x() { synchronized (o) // synchronization on a non-final field { } } } поэтому я изменил кодировку следующим...

91
Понимание java.lang.Thread.State: WAITING (парковка)

Во-первых, действительно тупой вопрос, мне просто интересно, что означает ожидание «парковка»? Ожидает ли поток, чтобы его припарковали, или он просто припаркован и поэтому находится в состоянии ожидания? И когда эта парковка произойдет, сколько ресурсов процессора / памяти будет занято? Какова...

91
Цикл не видит значение, измененное другим потоком без оператора печати

В моем коде есть цикл, который ожидает изменения какого-либо состояния из другого потока. Другой поток работает, но мой цикл никогда не видит измененное значение. Он ждет вечно. Однако, когда я помещаю System.out.printlnоператор в цикл, он внезапно срабатывает! Зачем? Ниже приведен пример моего...

90
Законно ли дважды вызывать метод start в одном и том же потоке?

Следующий код приводит к тому, java.lang.IllegalThreadStateException: Thread already startedчто я вызвал start()метод второй раз в программе. updateUI.join(); if (!updateUI.isAlive()) updateUI.start(); Такое бывает во второй раз updateUI.start()называется. Я прошел через это несколько раз, и поток...

90
Доступ к обработчику потока пользовательского интерфейса из службы

Я пробую что-то новое на Android, для чего мне нужно получить доступ к обработчику потока пользовательского интерфейса. Знаю следующее: У потока пользовательского интерфейса есть собственный обработчик и цикл. Любое сообщение будет помещено в очередь сообщений потока пользовательского интерфейса....

90
Должен ли я получить блокировку перед вызовом condition_variable.notify_one ()?

Я немного запутался в использовании std::condition_variable. Я понимаю , что я должен создать unique_lockна mutexперед вызовом condition_variable.wait(). Я не могу найти, нужно ли мне также получить уникальную блокировку перед вызовом notify_one()или notify_all(). Примеры на cppreference.com...