Герберт Шилдт - C# 4.0 - полное руководство

Здесь есть возможность читать онлайн «Герберт Шилдт - C# 4.0 - полное руководство» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва -- Киев, Год выпуска: 2011, ISBN: 2011, Издательство: ООО И.Д. Вильямс, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

C# 4.0: полное руководство: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «C# 4.0: полное руководство»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки.
Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

C# 4.0: полное руководство — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «C# 4.0: полное руководство», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

class MyThread {

public Thread Thrd;

public MyThread(string name) {

Thrd = new Thread(this.Run);

Thrd.Name = name;

Thrd.Start();

}

// Это точка входа в поток,

void Run() {

Console.WriteLine(Thrd.Name + " начат.");

for (int i = 1; i <= 1000; i++) {

Console.Write(i + " ");

if((i %10)==0) {

Console.WriteLine();

Thread.Sleep(250);

}

}

Console .WriteLine (Thrd.Name + " завершен.");

}

}

class StopDemo {

static void Main() {

MyThread mt1 = new MyThread("Мой Поток");

Thread.Sleep(1000); // разрешить порожденному потоку начать свое выполнение

Console.WriteLine("Прерывание потока.");

mt1.Thrd.Abort();

mt1.Thrd.Join(); // ожидать прерывания потока

Console.WriteLine("Основной поток прерван.");

}

}

Вот к какому результату приводит выполнение этой программы.

Мой Поток начат.

1 2 3 4 5 6 7 8 9 10

11 12 13 14 15 16 17 18 19 20

21 22 23 24 25 26 27 28 29 30

31 32 33 34 35 36 37 38 39 40

Прерывание потока.

Основной поток прерван.

-----------------------------

ПРИМЕЧАНИЕ

Метод Abort() не следует применять в качестве обычного средства прерывания потока, поскольку он предназначен для особых случаев. Обычно поток должен завершаться естественным образом, чтобы произошел возврат из метода, выполняющего роль точки входа в него.

-----------------------------

Другая форма метода Abort()

В некоторых случаях оказывается полезной другая форма метода Abort(), приведенная ниже в общем виде:

public void Abort(object stateInfo)

где statelnfo обозначает любую информацию, которую требуется передать потоку, когда он останавливается. Эта информация доступна посредством свойства ExceptionStateиз класса исключения ThreadAbortException. Подобным образом потоку можно передать код завершения. В приведенном ниже примере программы демонстрируется применение данной формы метода Abort().

// Использовать форму метода Abort (object stateInfo) .

using System;

using System.Threading;

class MyThread {

public Thread Thrd;

public MyThread(string name) {

Thrd = new Thread(this.Run);

Thrd.Name = name;

Thrd.Start();

}

// Это точка входа в поток,

void Run() {

try {

Console.WriteLine(Thrd.Name + " начат.");

for (int i = 1; i <= 1000; i++) {

Console.Write(i + " ");

if((i%10)==0) {

Console.WriteLine();

Thread.Sleep(250);

}

}

Console.WriteLine(Thrd.Name + " завершен нормально.");

} catch(ThreadAbortException exc) {

Console.WriteLine("Поток прерван, код завершения "

+ exc.ExceptionState);

}

}

}

class UseAltAbort {

static void Main() {

MyThread mt1 = new MyThread("Мой Поток");

Thread.Sleep(1000); // разрешить порожденному потоку начать свое выполнение

Console.WriteLine("Прерывание потока.");

mt1.Thrd.Abort(100);

Console.WriteLine("Основной поток прерван.");

}

}

Эта программа дает следующий результат.

Мой Поток начат.

1 2 3 4 5 6 7 8 9 10

11 12 13 14 15 16 17 18 19 20

21 22 23 24 25 26 27 28 29 30

31 32 33 34 35 36 37 38 39 40

Прерывание потока.

Поток прерван, код завершения 100

Основной поток прерван.

Как следует из приведенного выше результата, значение 100 передается методу Abort() в качестве кода прерывания. Это значение становится затем доступным посредством свойства ExceptionState из класса исключения ThreadAbortException, которое перехватывается потоком при его прерывании.

Отмена действия метода Abort()

Запрос на преждевременное прерывание может быть переопределен в самом потоке. Для этого необходимо сначала перехватить в потоке исключение ThreadAbortException, а затем вызвать метод ResetAbort(). Благодаря этому исключается повторное генерирование исключения по завершении обработчика исключения, прерывающего данный поток. Ниже приведена форма объявления метода ResetAbort().

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «C# 4.0: полное руководство»

Представляем Вашему вниманию похожие книги на «C# 4.0: полное руководство» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «C# 4.0: полное руководство»

Обсуждение, отзывы о книге «C# 4.0: полное руководство» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x