Взаимодействие с процессами в рамках платформы .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.2013

  • ASP – внутренняя технология, позволяющая подключать программы к 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.