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

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

3
Гарантирует ли «volatile» что-либо вообще в переносимом коде C для многоядерных систем?
После глядя на кучу из других вопросов и их ответов , я получаю впечатление , что не существует никакого широко распространенного соглашения о том , что «летучий» ключевое слово в C означает точно. Даже сам стандарт не достаточно ясен для того, чтобы все могли понять, что это значит . Среди …

1
Можно ли ограничить количество потоков для C ++ 17 параллельно `for_each`?
Я использую std::for_eachс std::execution::parдля выполнения сложных вычислений на огромном входе представлен в виде вектора структур. Вычисления не требуют каких-либо задержек, связанных с аппаратным обеспечением (например, сетевой или дисковый ввод-вывод), это просто вычисления процессора. Для меня это выглядит логичным, что нет смысла создавать больше потоков ОС, чем у нас аппаратных; тем …

2
Когда WebView готов к снимку ()?
В JavaFX DOCS состояние , что WebViewготова , когда Worker.State.SUCCEEDEDбудет достигнуто , однако, если вы будете ждать некоторое время (то есть Animation, Transition, PauseTransitionи т.д.), пустая страница отображается. Это говорит о том, что внутри WebView происходит событие, готовящее его к записи, но что это? На GitHubSwingFXUtils.fromFXImage есть более 7000 фрагментов …

1
Отключить дочерний процесс порождения после запуска
Я запускаю дочерний процесс порождения следующим образом: let process = spawn(apiPath, { detached: true }) process.unref() process.stdout.on('data', data => { /* do something */ }) Когда я запускаю процесс, мне нужно держать его подключенным, потому что я хочу прочитать его вывод. Но перед закрытием моего процесса Node (родительского) я хочу …

5
Как создать несколько потоков для каждого элемента запроса
Я пытаюсь обработать код ниже, используя многопоточность на уровне заказа. List<String> orders = Arrays.asList("order1", "order2", "order3", "order4", "order1"); Текущее последовательное исполнение: orders.stream().forEach(order -> { rules.forEach(rule -> { finalList.add(beanMapper.getBean(rule) .applyRule(createTemplate.apply(getMetaData.apply(rule), command), order)); }); }); Я пытался с помощью: orders.parallelStream().forEach(order -> {}} // code snippet. Но это меняет порядок rules.forEach (rule -> …

1
Что значит «сильно случается раньше»?
Фраза «сильно случается раньше» используется несколько раз в проекте стандарта C ++. Например: Завершение [basic.start.term] / 5 Если завершение инициализации объекта со статической продолжительностью хранения сильно происходит до вызова std :: atexit (см. [Support.start.term]), вызов функции передается в std :: atexit последовательность перед вызовом деструктора для объекта. Если вызов std …


1
Как вызвать методы двигателя флаттера из другого потока
Я использую настольный компьютер для Linux. Я MarkTextureFrameAvailableвызываю метод, который должен пометить текстуру, которая должна быть обработана движком. Поскольку я программирую видеоплеер, мне нужно позвонить MarkTextureFrameAvailableиз ветки плеера. Проблема в том, что двигатель заставляет меня вызывать MarkTextureFrameAvailable(и любой другой метод двигателя) из потока, который создал двигатель. Вы можете видеть, что …

3
list :: empty () многопоточное поведение?
У меня есть список, из которого я хочу, чтобы разные темы брали элементы. Во избежание блокировки мьютекса, защищающего список, когда он пуст, я проверяю empty()перед блокировкой. Это нормально, если вызов list::empty()100% времени неправильный. Я только хочу , чтобы избежать сбоя или нарушений одновременно list::push()и list::pop()вызовов. Могу ли я предположить, что …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.