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

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

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

89
Монитор против блокировки

Когда в C # целесообразно использовать Monitorкласс или lockключевое слово для обеспечения безопасности потоков? РЕДАКТИРОВАТЬ: Судя по ответам до сих пор, lockэто короткая рука для серии вызовов Monitorкласса. Для чего именно нужен вызов блокировки? Или, точнее, class LockVsMonitor { private...

89
PHP Thread Safe и Non-Thread Safe для Windows

Я скачиваю PHP для Windows. У меня на сайте 2 варианта. Безопасный поток PHP PHP без поддержки потоков Пожалуйста, ответьте на следующие вопросы: Какая разница между двумя? Какие преимущества и недостатки друг перед другом? Я разрабатываю веб-сайт электронной коммерции, который будет иметь большой...

89
Platform.runLater и задача в JavaFX

Я провел некоторые исследования по этому поводу, но я все еще ОЧЕНЬ смущен, если не сказать больше. Может ли кто-нибудь дать мне конкретный пример, когда использовать, Taskа когда использовать Platform.runLater(Runnable);? В чем именно разница? Есть ли золотое правило, когда использовать что-либо...

88
Как работают Актеры по сравнению с потоками?

Есть ли хорошее и краткое объяснение того, как работают Актеры по сравнению с потоками? Разве поток нельзя рассматривать как актера и отправлять сообщения другим потокам? Я вижу некоторую разницу, но для меня это не так ясно. Могу ли я использовать актеров на любом языке, используя потоки...

88
фоновая функция в Python

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

88
Как получить целочисленный идентификатор потока в c ++ 11

c ++ 11 имеет возможность получить текущий идентификатор потока, но он не может быть приведен к целочисленному типу: cout<<std::this_thread::get_id()<<endl; вывод: 139918771783456 cout<<(uint64_t)std::this_thread::get_id()<<endl; ошибка: недопустимое приведение из типа 'std...

87
Остается ли заблокированный объект заблокированным, если внутри него возникает исключение?

В приложении для потоковой передачи С #, если бы я заблокировал объект, скажем, очередь, и если произойдет исключение, останется ли объект заблокированным? Вот псевдокод: int ii; lock(MyQueue) { MyClass LclClass = (MyClass)MyQueue.Dequeue(); try { ii = int.parse(LclClass.SomeString); } catch {...

87
Кто вызывает метод прерывания потока Java (), если я нет?

Я прочитал и перечитал Java Concurrency in Practice, я прочитал здесь несколько тем по этой теме, я прочитал статью IBM Работа с InterruptedException, но есть кое-что, что я просто не понимаю, что, по моему мнению, может быть нарушено на два вопроса: Если я никогда сам никогда не прерываю другие...

87
Каковы правильные параметры ссылки для использования std :: thread в GCC под Linux?

Привет, я пытаюсь использовать std::threadс G ++. Вот мой тестовый код #include <thread> #include <iostream> int main(int, char **){ std::thread tt([](){ std::cout<<"Thread!"<<std::endl; }); tt.join(); } Он компилируется, но когда я пытаюсь его запустить, результат:...

87
Что означает монитор объекта в Java? Зачем использовать это слово?

Читая статьи о потоках Java, я часто замечаю выражение: «текущий поток является владельцем монитора этого объекта». Я понимаю смысл: поток получает право работать с объектом. Но я не понимаю, почему мы используем фразу «монитор объекта» вместо «блокировка объекта»? Короче говоря, я не знаю...

86
Производительность переменной ThreadLocal

Насколько из ThreadLocalпеременной читается медленнее, чем из обычного поля? Более конкретно, создание простого объекта быстрее или медленнее, чем доступ к ThreadLocalпеременной? Я предполагаю, что это достаточно быстро, так что наличие ThreadLocal<MessageDigest>экземпляра намного быстрее,...

86
Безблокировочная многопоточность для настоящих экспертов по резьбонарезанию

Я читал ответ, который Джон Скит дал на вопрос, и в нем он упомянул следующее: Насколько мне известно, многопоточность без блокировок предназначена для настоящих экспертов по многопоточности, к которым я не принадлежу. Это не первый раз, когда я слышу это, но я обнаружил, что очень мало людей...

86
Как проверить, работает ли все еще std :: thread?

Как я могу проверить, работает ли std::threadеще (независимо от платформы)? У него нет timed_join()метода, и joinable()он не предназначен для этого. Я думал заблокировать мьютекс с помощью a std::lock_guardв потоке и использовать try_lock()метод мьютекса, чтобы определить, заблокирован ли он...