Взаимодействие с процессами в рамках платформы .NET
Составление консольного приложения на языке С+, в котором работают параллельно два потока: в первом происходит суммирование чисел от 1 до 1000, а во втором потоке - чтение 1000 записей из текстового файла. Запуск потоков при помощи конструктора класса.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 09.11.2012 |
Размер файла | 404,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Вариант № 2
Тема: Взаимодействие с процессами в рамках платформы .NET
Цель контрольной работы: Изучить члены пространства имен System.Diagnostic: Process, ProcessModule, ProcessModuleCollection, ProcessThread, ProcessThreadCollection; закрепить на практике сведения о внутреннем устройстве процессов, потоков, доменов приложений, контекстов и хостов CLR в операционной системе Windows.
Задание: Составить консольное приложение на языке С# в котором работают параллельно два потока. В первом потоке происходит суммирование чисел от 1 до 1000, а во втором потоке происходит чтение 1000 записей из текстового файла. Запуск потоков осуществить при помощи конструктора класса. В качестве языка программирования использовать язык С#. консольное приложение поток
Листинг программы
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.IO;
namespace Threads
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Основной поток стартовал");
MyThread2 mt2 = new MyThread2("Потомок №2");
MyThread mt1 = new MyThread("Потомок №1");
do
{
Console.Write(".");
Thread.Sleep(100);
} while (mt1.thrd.IsAlive || mt2.thrd.IsAlive);
Console.WriteLine("Основной поток завершен");
Console.ReadKey();
}
}
public class MyThread
{
public Thread thrd;
public int count;
public MyThread(string threadName)
{
count = 1;
thrd = new Thread(new ThreadStart(run));
thrd.Name = threadName;
thrd.Start();
}
public void run()
{
Console.WriteLine("Поток " + thrd.Name + " стартовал");
do
{
Thread.Sleep(100);
Console.WriteLine("В потоке " + thrd.Name + " count = " + count);
count++;
} while (count < 1000);
Console.WriteLine(thrd.Name + " завершен");
}
}
public class MyThread2
{
public Thread thrd;
public int count;
FileStream fin;
StreamReader sr;
public MyThread2(string threadName)
{
count = 1;
fin = new FileStream("text.txt", FileMode.Open);
sr = new StreamReader(fin, Encoding.Default);
thrd = new Thread(new ThreadStart(run));
thrd.Name = threadName;
thrd.Priority = ThreadPriority.Lowest;
thrd.Start();
}
public void run()
{
Console.WriteLine("Поток " + thrd.Name + " стартовал");
do
{
Thread.Sleep(100);
string s = sr.ReadLine();
Console.WriteLine(s);
count++;
} while (count < 1000);
Console.WriteLine(thrd.Name + " завершен");
}
}
}
На рисунках 1-2 показаны результаты работы программы.
Рисунок 1 - Результаты работы программы
Рисунок 2 - Результаты работы программы
Проверил: ст. преп. каф. ВЭА Дубенко Ю.В.__________________________
1. Размещено на www.allbest.ru
Подобные документы
Создание потока с помощью конструктора на основе класса Thread, интерфейса Runnable, синхронизации потоков. Краткая справка по необходимым программным компонентам. Составление программы анимации мячей пространстве окна. Диаграмма классов приложения.
лабораторная работа [884,9 K], добавлен 01.05.2014Принципы написания консольных приложений на языке Java в среде Eclipse. Составление программы завтрака на основе списка продуктов, передаваемых в качестве параметров в командной строке. Создание пакета для классов, интерфейса, базового класса иерархии.
лабораторная работа [1,2 M], добавлен 01.05.2014Принципы программирования файловой структуры в операционной системе Windows. Свойства и методы класса Tstream. Пример создания, чтения и записи потока. Чтение, запись и внутренняя структура файла. Пример чтения из файла, начиная с заданной позиции.
курсовая работа [251,6 K], добавлен 18.05.2011Описание типизированных файлов. Принципы работы с файлами, создание и открытие на запись нового файла. Чтение из файла, открытие существующего файла на чтение. Определение имени файла. Запись в текстовый файл. Описание множества и операции над ними.
реферат [86,4 K], добавлен 07.02.2011Реализация программы-конвертера для создания на основе передаваемых dbf файлов файла формата XML (по заданному пользователем шаблону). Создание шаблонов при помощи кода и при помощи конструктора. Проектирование архитектуры программного продукта.
дипломная работа [1,6 M], добавлен 27.06.2013ASP – внутренняя технология, позволяющая подключать программы к web-страницам и обеспечивать чтение и запись в базе данных. Код разработанной ASP-страницы и его описание. Внешний вид полученного ответа на запуск ASP-страницы. HTML-код файла отчета.
лабораторная работа [219,1 K], добавлен 05.04.2015Некоторые методы класса String. Символьные и байтовые потоки. Чтение консольного ввода. Запись и чтение файлов. Сериализация объектов. Разработка программы для обработки ведомости. Процесс диалога с пользователем, а также сохранения данных в файл.
презентация [196,7 K], добавлен 26.10.2013Знакомство с особенностями и этапами разработки приложения для платформы Android. Рассмотрение функций персонажа: бег, прыжок, взаимодействие с объектами. Анализ блок-схемы алгоритма генерации платформ. Способы настройки функционала рабочей области.
дипломная работа [3,4 M], добавлен 19.01.2017Анализ создания виртуального окружения для разработки. Установка фреймворка Flask. Особенность настройки аутентификации и привилегий. Создание Python-файла и написание в нем простого веб-приложения. Запуск и проверка работоспособности приложения.
лабораторная работа [2,1 M], добавлен 28.11.2021Создание приложения по выбору варианта заполнения прямоугольной матрицы: случайными числами или из текстового файла. Идентификаторы метода "main". Расчет количества столбцов, содержащих хотя бы один нулевой элемент. Инструкция по работе с программой.
курсовая работа [563,8 K], добавлен 28.10.2014