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

Многопоточность - это способность компьютера или программы выполнять работу одновременно или асинхронно, используя несколько одновременных потоков выполнения (обычно называемых потоками).

12
Если я синхронизировал два метода в одном классе, могут ли они работать одновременно?
Если я синхронизировал два метода в одном и том же классе, могут ли они одновременно работать на одном и том же объекте ? например: class A { public synchronized void methodA() { //method A } public synchronized void methodB() { // method B } } Я знаю, что не могу …

9
Создание очереди блокировки <T> в .NET?
У меня есть сценарий, в котором у меня есть несколько потоков, добавляющих в очередь, и несколько потоков, читающих из одной и той же очереди. Если очередь достигает определенного размера, все потоки , заполняющие очередь, будут заблокированы при добавлении, пока элемент не будет удален из очереди. Решение ниже - то, что …

10
IllegalMonitorStateException при ожидании () вызова
Я использую многопоточность в Java для моей программы. Я успешно запустил поток, но когда я использую Thread.wait(), он выбрасывает java.lang.IllegalMonitorStateException. Как я могу заставить поток ждать, пока он не будет уведомлен?


17
Что такое тупик?
При написании многопоточных приложений одной из наиболее распространенных проблем являются взаимоблокировки. Мои вопросы к сообществу: Что такое тупик? Как вы их обнаруживаете? Вы справляетесь с ними? И, наконец, как вы предотвращаете их появление?

1
Почему «while (true)» без «Thread.sleep» вызывает 100% загрузку ЦП в Linux, но не в Windows?
Я создал простую программу в Java: public static void main(String[] args) throws InterruptedException { while (true) ; } Если я запускаю это на машине с Linux, это показывает 100% загрузку процессора, но не заставляет ОС работать медленно. Однако, если я запускаю точно такой же код в Windows, он показывает только …

7
Реализация общего тайм-аута C #
Я ищу хорошие идеи для реализации общего способа выполнения одной строки (или анонимного делегата) кода с тайм-аутом. TemperamentalClass tc = new TemperamentalClass(); tc.DoSomething(); // normally runs in 30 sec. Want to error at 1 min Я ищу решение, которое можно элегантно реализовать во многих местах, где мой код взаимодействует с …


10
Что означает этот код присоединения к потоку?
В этом коде, что означают два соединения и разрыв? t1.join()вызывает, t2чтобы остановить, пока не t1закончится? Thread t1 = new Thread(new EventThread("e1")); t1.start(); Thread t2 = new Thread(new EventThread("e2")); t2.start(); while (true) { try { t1.join(); t2.join(); break; } catch (InterruptedException e) { e.printStackTrace(); } }

5
Итерация значений ConcurrentHashMap потокобезопасна?
В javadoc для ConcurrentHashMap есть следующее: Операции извлечения (включая get) обычно не блокируются, поэтому могут перекрываться с операциями обновления (включая put и remove). Извлечения отражают результаты самых последних завершенных операций обновления, проводимых с момента их появления. Для агрегатных операций, таких как putAll и clear, одновременный поиск может отражать вставку или …


2
Python Threading Строковые Аргументы
У меня проблема с потоками Python и отправкой строки в аргументах. def processLine(line) : print "hello"; return; , dRecieved = connFile.readline(); processThread = threading.Thread(target=processLine, args=(dRecieved)); processThread.start(); Где dRecoted - строка из одной строки, прочитанная соединением. Он вызывает простую функцию, которая на данный момент имеет только одно задание на печать "привет". …



7
Разумно ли заменить boost :: thread и boost :: mutex на c ++ 11 эквивалентов?
Мотивация: причина, по которой я рассматриваю это, заключается в том, что мой гениальный руководитель проекта считает, что повышение - это еще одна зависимость, и это ужасно, потому что «вы зависите от этого» (я попытался объяснить качество повышения, а затем через некоторое время сдался :( Меньшая причина, по которой я хотел …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.