ЗАДАНИЯ
к лабораторной работе № 2
«Синхронизация процессов и потоков в ОС Windows »
- Создайте программу, которая
выполняет скалярное умножение двух векторов. Значения каждого вектора
хранятся в отдельном файле, созданном с помощью текстового редактора.
Программа должна прочитать значения вектора из первого файла и присвоить
их элементам вектора, затем в отдельном потоке прочитать значения вектора
из второго файла. Для синхронизации операций чтения используйте семафоры.
- Создайте программу, которая
с помощью события синхронизирует операции записи и чтения данных из файла.
Программа должна в основном потоке создать файл и записать в него данные.
Чтение данных из созданного файла должно выполняться в отдельном потоке.
Для синхронизации операций доступа к файлу должно использоваться событие.
- Создайте программу,
которая использует мьютекс для доступа к глобальной переменной – счетчику
и инкремента значений этой переменной. Доступ к переменной должен
производиться из разных потоков (количество потоков 3).
- Разработайте программу,
которая выполняет перемножение двух матриц. Значения элементов каждой
матрицы сохраняются в отдельном файле, создаваемом с помощью текстового
редактора. Программа должна прочитать значения каждой матрицы в отдельных
потоках, для синхронизации готовности данных к перемножению используйте
события.
- Создайте программу, которая
в основном потоке формирует массив значений аргумента функции и записывает
их в файл, в отдельном потоке читает значения аргумента из файла и
вычисляет массив значений функции f(x)
= exp (x).
Для синхронизации используйте событие.
- Создайте программу, которая
выполняет запись данных из двух отдельных потоков в один файл. Для
синхронизации доступа к файлу используйте мьютекс.
- Создайте программу, которая
выполняет чтение данных из одного файла в двух потоках. Для синхронизации
доступа к файлу используйте семафор.
- Создайте программу, которая
выводит на экран символьную информацию. Далее программа должна в отдельном
потоке 3 раза заменить символ в определенной позиции на другой, используя
мьютекс как объект синхронизации.
- * Разработайте программу,
которая выполняет сложение двух матриц. Значения элементов каждой матрицы
сохраняются в отдельном файле, создаваемом с помощью текстового редактора.
Программа должна прочитать значения каждой матрицы в отдельных потоках,
для синхронизации готовности данных к сложению используйте мьютекс.
- Создайте программу, которая
демонстрирует работу двух потоков с глобальным массивом. В основном потоке
случайным образом генерируется массив из 100 элементов, затем в
дополнительном потоке вычисляется среднее значение сгенерированной
последовательности. Операцию создания (генерирования) массива и вычисления
среднего значения повторить 10 раз. Для синхронизации доступа к массиву
использовать событие.