Главная » Просмотр файлов » Г. Шилдт - С# 3.0 Полное руководство. 2010

Г. Шилдт - С# 3.0 Полное руководство. 2010 (1160798), страница 155

Файл №1160798 Г. Шилдт - С# 3.0 Полное руководство. 2010 (Г. Шилдт - С# 3.0 Полное руководство. 2010) 155 страницаГ. Шилдт - С# 3.0 Полное руководство. 2010 (1160798) страница 1552019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 155)

цв1пс зувкеет с1авв Сцвкоытфеелпбпакеуогыаквреео ( вкакьс чобб Ма1п() ( Пакетыве бк = Пакетбее.ио; Сопвоге.нг1ке11пе("времят (О:Лпт СС)", бс)т Сопво1е.нкькеььпе("Время в 24-часовом формате: (О:НН:вкл)", бк)т Сопво1е.икгсеь1пе("дават (О:ббб МММ бб, уууу)", бс)т СОПВО1Е.НГ1каь1ПЕ("Зрат (Отдс)", бк); Сопво1е.нгькеььпе("Время в секундах: "(О:нн:лкл:вв сс)", бс)т Сопво1е.нг1ке(нпе("День месяца в формате е: (Оте)", бг)т Сопво1е.иг1ке11пе("Минуты в формате вн (Отав)", бк)т ) ) Глядя на табл.

22.8, можно заметить, что символы-заполнители б, 1, д, ы, М, в и с выполняют ту же функцию, что и аналогичные символы-заполнители из табл. 22.7. Вообще говоря, если один из этих символов указывается отдельно, то он интерпретируется как спецификатор формата. В противном случае он считается символом-заполнителем. Поэтому если требуется указать несколько таких символов отдельно, но интерпретировать их как символы-заполнители, то перед каждым из них следует поставить знак Ъ. В приведенном ниже примере программы демонстрируется применение нескольких форматов даты и времени. Глава 22.

Строки и форматирование 785 Вот к какому результату приводит выполнение этой программы (он опять же зависит от настроек языковых и региональных параметров локализации базового программного обеспечения): Время: 11:55 РН Время 24-часовен формате: 11:55 Дата: Нее Оцп 18, 2008 Эра: Л.О. Время в секундах." 11:55:52 ЬН День месяца в формате гю оцпе 18 минуты в формате гю 55 Форматирование перечислений В языке СЛ допускается также форматировать значения, определяемые в перечислении.

Вообще говоря, значения из перечисления могут отображаться как по имени, так и по значению. Спецификаторы формата перечислений сведены в табл. 22.9. Обратите особое внимание на форматы О и р. Перед перечислениями, которые должны представлять битовые поля, следует указывать атрибут р1адз. Как правило, в битовых полях хранятся значения, обозначающие отдельные двоичные разряды и упорядоченные по степени числа 2. При наличии атрибута р1адв имена всех битовых составляющих форматируемого значения, если, конечно, зто действительное значение, отображаются с помощью спецификатора С. А с помощью спецификатора р отображаются имена всех битовых составляющих форматируемого значения, если оно составляется путем логического сложения по ИЛИ двух или более полей, определяемых в перечислении.

Таблица 22.9. Спецификеторы формата перечислений Спецификатор Назначение Отображает значение в виде десятичного целого числа То же, что и 0 Отображает имя значения. Если это значение можно создать путем логического сложения по ИЛИ двух ипи более полей, определенных в перечислении, то данный спецификатор отображает имена всех битовых составляющих заданного значения, причем независимо от того, задан атрибут 81апэ ипи нет Тоже, что и г Отображает имя значения. Если перед форматируемым перечислением указывается атрибут 81адв, то данный спецификатор отображает имена всех битовых составляющих заданного значения, если, конечно, это допустимое значение То же, что и а Отображает значение в виде шестнадцатеричного целого числа. Для отображения как минимум восьми цифр форматируемое значение дополняется (при необходимости) начальными нулями То же, что и х В приведенной ниже программе демонстрируется применение спецификаторов формата перечислений.

/! Отформатировать перечисление. цв1пд Бувгеоц ГЛАВА Многопоточное программирование реди многих замечательных свойств языка Св особое место принадлежит поддержке многопоточного программировании. Многопоточная программа состоит из двух или более частей, выполняемых параллельно. Каждая часть такой программы называется потокам и определяет отдельный путь выполнения команд. Таким образом, многопоточная обработка является особой формой многозадачности. Многопоточное программирование опирается на целый ряд средств, предусмотренных для этой цели в самом языке Св, а также на классы, определенные в среде .НЕТ Ргашечгогк. Благодаря встроенной в Сл поддержке многопоточной обработки сводятся к минимуму или вообще устраняются многие трудности, связанные с организацией многопоточной обработки в других языггах программирования.

Основы многопоточной обработки Различают две разновидности многозадачности: на основе процессов и на основе потоков. В связи с этим важно понимать отличия между ними. Процесс фактически представляет собой исполняемую программу. Нозтому многозадачностль на основе процессов — это средство, благодаря которому на компьютере могут параллельно выполняться две программы и более. Так, многозадачность на основе процессов позволяет одновременно выполнять программы текстового редактора, электронных таблиц и просмотра содержимого в Интернете.

При организации многозадачности на основе процессов программа является наименьшей единицей кода, выполнение которой может координировать планировщик задач. Поток представляет собой координируемую единицу исполняемого кода. Своим происхождением этот термин обязан понятию "поток исполнения". При организации многозадачности 'ма основе потоков у каждого процесса должен быть по крайней мере один поток, хотя их может быть и больше.

Это означает, что в одной программе одновременно может решаться две и более задачи. Например, текст может форматироваться в редакторе текста одновременно с его выводом на печать, при условии, что оба этих действия выполняются в двух отдельных потоках. 788 Часть й. Библиотека С№ Отличия в многозадачности на основе процессов и потоков могут быть сведены к следующему: многозадачность на основе процессов организуется для параллельного выполиения программ, а многозадачность на основе потоков — для параллельного выполнения отдельных частей одной программы.

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

Поэтому большую часть своего времени программе приходится ожидать отправки данных на устройство ввода-вывода или приема информации из него. А благодаря многопоточной обработке программа может решать какую-нибудь другую задачу во время вынужденного простоя.

Например, в то время как одна часть программки отправляет файл через соединение с Интернетом, другая ее часть может выполнять чтение текстовой информации, вводимой с клавиатуры, а третья — осуществлять буферизацию очередного блока отправляемых данных.

Поток может находиться в одном из нескольких состояний. В целом поток может быть выполняющимся; готовым к вьтолнеяию, как только он получит время и ресурсы ЦП; лриосгпаноэленным, т.е. временно не выполняющимся; возобноаленным в дальнейшем; заблокированпым в ожидании ресурсов для своего выполнения; а также завершенным, когда его выполнение окончено и не может быть возобновлено. В среде .ХЕТ Егашетчог)с определены две разновидности потоков: приоритетный и фоновый. По умолчанию создаваемый поток автоматически становится приоритетным, но его можно сделать фоновым.

Единственное отличие приоритетных потоков от фоновых заключается в том, что фоновый поток автоматически завершается, если в его процессе остановлены все приоритетные потоки. В связи с организацией многозадачности на основе потоков возникает потребность в особого рода режиме, который называется синхронизацией и позволяет координировать выполнение потоков вполне определенным образом.

Для такой синхронизации в С№ предусмотрена отдельная подсистема, основные средства которой рассматриваются в этой главе. Все процессы состоят хотя бы из одного потока, который обычно называют основным, поскольку именно с него начинается выполнение программы. Следовательно, в основном потоке выполнялись все приведенные ранее примеры программ. Из,основного потока можно образовать другие потоки.

В языке С№ и среде .НЕТ Егашетчогтк поддерживаются обе разновидности многозадачности: иа основе процессов и на основе потоков. Поэтому средствами С№ можно создавать как процессы, так и потоки, а также управлять и теми и другими. Для того чтобы начать новый процесс, от программирующего требуется совсем немного усилий, поскольку каждый предыдущий процесс совершенно обособлен от последующего. Намного более важной оказывается поддержка в С№ многопоточной обработки, благодаря которой упрощается написание высокопроизводительных, многопоточных программ на С№ по сравнению с некоторыми другими языками программирования.

Классы, поддерживающие многопоточное программирование, определены в пространстве имен Бузоеш. тттгеабапкт. Поэтому любая многопоточная программа на С№ включает в себя следующую строку кода: озапд Зузсея.тьгеаозпот Глава 23. Многопоточное программирование 789 Класс ТЬхеаб Система многопоточной обработки основывается на классе тЬгеаг(, который инкапсулирует поток исполнения. Класс ТЬгеаг( является герметичным, т.е.

он не может наследоваться. В классе ТЬгеас( определен ряд методов и свойств, предназначенных для управления потоками. На протяжении всей этой главы будут рассмотрены наиболее употребительные члены данного класса. Для создания потока достаточно получить экземпляр объекта типа тЬгеас), т.е. класса, определенного в пространстве имен Яувгев. ТЬгеаг)1пд. Ниже приведена простейшая форма конструктора класса ТЬгеас1 рпЫ1с тпгеаг((тпгеаг(ЯСагв точка входа) где точка входа — это имя метода, вызываемого с целью начать выполнение потока, а тьгеас)Ясагс — делегат, определенный в среде .)ч(ЕТ Егзиге(чог((, как показано ниже.

Характеристики

Тип файла
DJVU-файл
Размер
6,78 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Г. Шилдт - С# 3.0 Полное руководство
C_sharp_3TCR_code
Apndx.lst
Chap2.lst
Chap3.lst
Chap4.lst
Chap5.lst
Chap6.lst
Chap7.lst
Chap8.lst
Chap9.lst
Chap10.lst
Chap11.lst
Chap12.lst
Chap13.lst
Chap14.lst
Chap15.lst
Chap16.lst
Chap17.lst
Chap18.lst
Chap19.lst
Chap20.lst
Chap21.lst
Chap22.lst
Chap23.lst
Chap24.lst
Chap25.lst
Chap26.lst
Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6439
Авторов
на СтудИзбе
306
Средний доход
с одного платного файла
Обучение Подробнее