Программа ввода / вывода на C ++ или Java - не знаю, с чего начать

0

Привет, Я пытаюсь написать программу в C++ или Java, которая использует потоки. Я не знаю, с чего начать. Это для класса операционных систем. Класс только преподает понятия и никакого фактического кодирования вообще. Профессор просто передает это задание и говорит, что он вообще не поможет. Большое спасибо за помощь.

Ниже приведены требования к программе:

Целью этого задания является создание подпрограммы, которая создает несколько потоков, если они работают параллельно и заканчивается, когда последний поток завершен.

Сценарий: Есть несколько групп людей в баре, наблюдая за Олимпийскими играми, которые восхищаются своей страной. Каждая группа будет приветствовать для своей страны определенное количество раз, со случайной паузой (между 2 и 5 секундами) между каждым приветствием. В баре достаточно места для размещения до десяти различных групп (каждый из них будет приветствовать другую страну).

Программа: задача состоит в том, чтобы написать программу, которая будет имитировать эти приветствия, используя потоки. Программу следует называть cheer.X(X - язык выбора). Вы можете использовать любой язык, поддерживающий потоки. Когда программа запускается, она должна запрашивать количество стран, а затем имя и сколько раз это будет приветствоваться. Затем основная функция создаст поток для каждой команды, и каждый поток отвечает за аплодисменты указанного количества раз для правильной команды на случайном интервале. Вы отправите файл исходного кода для меня, чтобы открыть и скомпилировать себя, а не исполняемый файл.

Примером может быть приветствие: "Иди США!" Пример run будет выглядеть примерно так: Сколько стран поддерживается в баре? 3 Введите первый: Китай Сколько ура? 2 Введите второе: США Сколько ура? 4 Войдите в третий: Россия Сколько ура? 3

Go USA! Пойдите в Китай! Иди в Россию! Пойдите в Китай! Go USA! Иди в Россию! Go USA! Иди в Россию! Go USA! (Помните, что будет пауза, и последовательные прогоны с теми же аргументами не приведут к тем же результатам)

  • 1
    Заголовок <thread> , вероятно, будет хорошим местом для начала, но раз вы пометили его как pthreads , какие-нибудь учебники или примеры того, как что-то сделать с этим?
  • 0
    Я согласен с Крисом. Если в вашем распоряжении есть библиотека поддержки потоков в C ++ 11, это действительно простой способ добиться этого. Прежде чем приступить к этому, я настоятельно рекомендую проанализировать, как многопоточность, мьютексы, условные переменные и т. Д. И как они работают вместе , выполняются в примерах (их много в сети). Такое знание является несколько фундаментальным, независимо от того, по какому пути вы идете (включая потоки).
Показать ещё 2 комментария
Теги:
multithreading

1 ответ

0

Вы можете использовать C++ 11 для многопоточности или установки библиотеки pthread в вашей системе и написать простой многопоточный код C++. Java также является очень хорошим вариантом для написания многопоточной программы.

Я бы предложил, прежде чем писать код, попытаться получить базовое понимание потоков, как синхронизировать несколько потоков.

Для справки библиотеки pthread. Пройдите это.

Вот страница wiki для базового понимания Threads.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню