0 / 1 / 0
Регистрация: 07.05.2020
Сообщений: 129
|
|
Потоки С++22.06.2020, 21:27. Показов 4418. Ответов 49
Метки срочно нужна помощь (Все метки)
Добрый вечер! Вот есть у меня такая задача, у С++ с потоками никогда не работал. Здесь вот такая постановка задание: есть вот 3 класса: класс Cpuqueue описывает очередь, класс Cpuprocess моделирует поток процессов, а класс CPU – поток обслуживания процесса центральным процессором. Очереди, потоки процессов и обслуживания процесса моделируются с помощью объектов соответствующего класса. Параметры очереди моделируются с помощью алгоритмов вставки и вытягивания процесса с очереди. Параметром процесса является интервал времени между двумя последовательными генерациями процессов. Параметром процессора является время обслуживания процесса. Случайное время для интервалов между моментами генерации процессов и для времени распределенные по равномерному закону распределения с заданными верхней и нижней границами Начальными данными для моделирования есть количество процессов, которые должны сгенерировать ( для каждого потока процессов), а также нижние и верхние границы для потоков.
Вот что мне собственно нужно сделать: программа моделирует один поток процессов несколькими центральными процессорами компьютера с несколькими очередями одинакового размера. Если процесс сгенерировал в тот момент, когда первая очередь заполнена, процесс помещается в следующую очередь, для обработки которой запускается второй процессор. Если и эта очередь заполнена, создается третья очередь и запускается третий процессор и так далее. Определите количество задействованных процессоров, максимальное длину последней очереди и процент от общего количества процессов, которые были обработаны каждым процессором. Вообще нужно срочно сделать эту программу, я понятие не имею с чего начать. Смотрел похожие примеры в Джава, но как делать именно в С++ не знаю.
0
|
22.06.2020, 21:27 | |
Ответы с готовыми решениями:
49
Что такое потоки ввода, потоки вывода? Байтовые потоки и потоки символов
|
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||||
22.06.2020, 23:49 | ||||||
![]() Решение
Что-то типа
1
|
Комп_Оратор)
![]() ![]() |
|
22.06.2020, 23:54 | |
Parasha, хрошее у вас имя. Древнее, женское, сермяжное.
Смотрите. В С++ на уровне библиотек поддерживаются потоки. При истинной асинхронности на уровне процессора, субъектом выполнения является ядро процессора. Их должно быть более 1. У вас же многопроцессная задача на системе с несколькими центральными процессорами. Какую модель IPC выбрали? Это не новичковская задача (имхо). А может слова выбрали не те, для описания задачи?
0
|
Комп_Оратор)
![]() ![]() |
|
23.06.2020, 00:05 | |
https://ru.wikipedia.org/wiki/... 0%B8%D0%B5
Может речь о потоках в рамках одного процесса и о ядрах в пределах одного процессора? IPC это широкий мир. Там можно распределять задачи на разных системах (операционных в том числе).
0
|
![]() 6343 / 3514 / 1427
Регистрация: 07.02.2019
Сообщений: 8,979
|
|
23.06.2020, 15:39 | |
Parasha,
Первое: если текст задания - это ваш перевод с английского, то лучше выложите оригинал, потому что это читать трудно. Второе: если действительно нужно , то моделировать это нужно в однопоточном приложении, что бы результаты вроде были корректными, и не зависили от планировщика ОС, реального "параллелизма" машины, на которой будет запускаться моделирование, и т.д.
0
|
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||||
24.06.2020, 17:39 | ||||||
![]() Решение
1
|
0 / 1 / 0
Регистрация: 07.05.2020
Сообщений: 129
|
|
28.06.2020, 19:01 [ТС] | |
oleg-m1973, можете подсказать еще?
0
|
28.06.2020, 19:01 | ||||||
Помогаю со студенческими работами здесь
20
потоки Потоки потоки... Потоки Потоки Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Async/await в Swift: Асинхронное программирование в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
|
Сложность Колмогорова: Приёмы упрощения кода
ArchitectMsa 20.03.2025
Наверное, каждый программист хотя бы раз сталкивался с кодом, который напоминает запутанный лабиринт — чем дальше в него погружаешься, тем сложнее найти выход. И когда мы говорим о сложности кода, мы. . .
|
PostgreSQL в Kubernetes: Подготовка кластера и настройка
Mr. Docker 20.03.2025
Когда доходит до контейнеризации баз данных и особенно таких требовательных к ресурсам системах как PostgreSQL, многие команды до сих пор колеблются, прежде чем перенести их в контейнерную. . .
|
C++26: Индексирование пакетов и метапрограммирование
bytestream 20.03.2025
Эволюция C++ продолжается стремительными темпами – каждый новый стандарт приносит функциональность, о которой мы мечтали годами. Звучит слишком громко? Если вы когда-либо боролись с вариадическими. . .
|
Состояние гонки в C#: подводные камни многопоточного программирования
UnmanagedCoder 20.03.2025
Что такое состояние гонки? Это ситуация, когда результат программы непредсказуемо меняется в зависимости от порядка выполнения потоков. Проще говоря, два или более потока пытаются одновременно. . .
|
Next.js для разработки React: преимущества серверного рендеринга
Reangularity 20.03.2025
Next. js решает классическую проблему React-приложений: медленную первоначальную загрузку и плохую индексацию поисковиками. Вместо того чтобы заставлять браузер пользователя выполнять всю работу по. . .
|
JUnit или TestNG: Выбираем Java-фреймворк для тестирования
Javaican 20.03.2025
История тестовых фреймворков в Java началась в конце 90-х, когда Кент Бек и Эрих Гамма разработали JUnit - инструмент, который перевернул представление разработчиков о модульном тестировании. JUnit. . .
|
Разбиваем монолит на два микросервиса и реализуем CI/CD
ArchitectMsa 20.03.2025
Когда команда растет, а функциональность монолита расширяется, поддерживать и развивать такую систему становится все труднее. Разработчики начинают тратить много времени на разбор сложных. . .
|
Python и PDF: Создание и редактирование файлов
py-thonny 20.03.2025
Работа с PDF-документами – одна из популярных задач в современной разработке. Python предлагает несколько инструментов для создания, чтения и редактирования PDF-файлов, среди которых особенно. . .
|
Корутины в Unity и производительность WaitForSeconds
GameUnited 20.03.2025
Разработчики игр на Unity часто сталкиваются с вопросом: как выполнять действия через определённые промежутки времени, не блокируя основной поток игры? Тут как раз и приходят на помощь корутины —. . .
|