Многопоточные приложения Поддержка баз данных в VB .NET

Термех статика
Элементы кинематики
Основные понятия
сопративления материалов
Теория прочности
Интенсивность отказов
Типовые примеры и
их решения
Методы расчета
Прикидочный расчет
Ориентировочный расчет
Окончательный расчет
Общее резервирование
Раздельное резервирование
Скользящее резервирование
Последействие отказов
Системы передачи
информации
Понятие предела функции
Дифференцирование и
интегрирование функций
Применение пределов в
экономических расчетах
Интергал производная
геометрический смысл
Системы линейных уравнений
Элементы теории матриц
Дифференциальное и
интегральное исчисление
экстремум функции
Неопределенный интеграл
Функция нескольких переменных
Дифференциальные уравнения
первого порядка
Производные высших порядков
Свойства производных
Производная показательной
и логарифмической функции
Импульсы
асинхронная линия
уровни сигнала
избыточность
цифровой сигнал
прямая обработка
структуры циклов
стратегии поиска
добавочный канал
регенератор
Цикловая синхронизация
Проверка по избыточности
Скорость передачи
Ошибки
Ретроспективные выставки
Синхронная передача
Контроллеры и накопители
на жестких дисках
накопитель на жестком диске
плотность записи
Способы кодирования данных
Частотная модуляция
Форматирование дисков
Зонная запись
Форматирование высокого
уровня
Температурная нестабильность
Характеристики накопителей
Парковка головок
Интерфейсы накопителей
на жестких дисках
Кабели питания Disk Manager
интерфейс SCSI plug-and-play
Конфигурирование системы
дефекты
Разбиение жестких дисков
Коды аппаратных ошибок
Неисправен блок питания
Искусство Древнего Мира
Проектирование печатных плат
Visual Basic .NET
Выражения операторы
Классы и объекты
Наследование и интерфейсы
Обработка событий
Формы Windows
Многопоточные приложения
Взаимодействие операционной
системы
Операционная система Linux
Конфигурирование X Windows
Работа и конфигурирование
GNOME и X WINDOWS

Многопоточные приложения Многозадачность в современных операционных системах воспринимается как нечто само собой разумеющееся До появления Apple OS X на компьютерах Macintosh не было современных многозадачных операционных систем. Правильно спроектировать операционную систему с полноценной многозадачностью очень трудно, поэтому за основу OS X пришлось взять систему Unix. Каждая программа работает в определенном контексте, описывающем распределение кода и данных в памяти. При сохранении контекста фактически сохраняется состояние программного потока, что позволяет в будущем восстановить его и продолжить выполнение программы. Начнем с элементарного примера. Допустим, вы хотите запустить в отдельном потоке процедуру, которая в бесконечном цикле уменьшает значение счетчика. Процедура определяется в составе класса Метод Join Трудно сказать, зачем в .NET была включена поддержка этих методов — при вызове Suspend и Abort программа, скорее всего, начнет работать нестабильно. Ни один из методов не позволяет нормально провести деинициализацию потока. Кроме того, при вызове Suspend или Abort невозможно предсказать, в каком состоянии поток оставит объекты после приостановки или аварийного завершения. До настоящего момента рассматривался единственный безопасный случай использования потоков — наши потоки не изменяли общих данных. Если разрешить изменение общих данных, потенциальные ошибки начинают плодиться в геометрической прогрессии и избавить от них программу становится гораздо труднее. Решение проблемы: синхронизация В процессе синхронизации блокировка устанавливается для объектов, а не потоков, поэтому при использовании разных объектов для блокировки разных фрагментов кода в программах иногда возникают весьма нетривиальные ошибки. К сожалению, во многих случаях синхронизация по одному объекту просто недопустима, поскольку она приведет к слишком частой блокировке потоков. Совместная работа с данными по мере их создания Многопоточность в графических программах Следующий шаг: кнопка Show Count Окно потоков (Threads window) Visual Studio .NET оказывает неоценимую помощь в отладке многопоточных программ. Оно активизируется командой подменю Debug > Windows в режиме прерывания. Завершение или прерывание программных потоков Более серьезный пример: извлечение данных из кода HTML Интереснее выглядит код класса Fork

Поддержка баз данных в VB .NET Столь короткая глава была написана с единственной целью — ориентировать читателя в нужном направлении. Ее ограниченный объем не позволит нам даже в общих чертах представить все средства для работы с базами данных в VB .NET (не говоря уже об их содержательном обсуждении). Пространство имен System.Data.OleDb содержит классы, используемые при взаимодействии с OLE DB-совместимыми базами данных (такими, как Microsoft Access или Microsoft Fox Pro). Вызов хранимой процедуры Вероятно, наибольший интерес представляет форма frmResults В этом разделе представлено графическое приложение, при помощи которого пользователь может подключиться к выбранной базе данных SQL, выполнить запрос и получить его результаты в виде списка Чтение данных из базы SQL Server происходит аналогичным образом — пространства имен OleDb и SqlClient имеют практически одинаковый синтаксис.

Краткий обзор ASP .NET При первом знакомстве с ASP .NET возникает обманчивое впечатление, что перед вами всего лишь очередной способ динамического построения web-страниц. В действительности возможности ASP .NET выходят далеко за рамки того, что можно было сделать традиционными средствами ASP. Сценарии ASP .NET программируются в обычном стиле VB .NET, однако в зависимости от типа клиентского броузера генерируется разный код HTML. Как упоминалось в главе 9, непосредственное извлечение информации из web-страниц — процесс медленный (из-за необходимости анализировать всю страницу) и ненадежный, поскольку структура страницы может измениться. Удобным средством получения таких данных с web-сайта является web-служба (Web service). В ранних версиях Windows конфигурационные данные хранились в ini-файлах, на смену которым пришел глобальный реестр. В ASP .NET приложения фактически возвращаются к временам текстовых ini-файлов — конфигурационные данные хранятся в текстовом файле Web.config, находящемся в каталоге приложения. Этот файл определяет условия выполнения приложений ASP .NET — такие как параметры отладки и системы безопасности. Конфигурационные файлы имеют довольно сложную структуру Использование web-службы на стороне клиента

Сборки .NET, установка приложений и COM Interop В завершение мы решили остановиться на проблемах установки и размещения программ, а также на использовании готовых программ, использующих модель COM (Component Object Model). Вообще-то на эту тему можно написать целую книгу, но мы надеемся, что это короткое вступление поможет вам перейти к самостоятельному изучению этой темы. Теоретически сборка может быть устроена весьма сложно, поэтому в нее включается манифест — совокупность всех сведений о сборке, необходимых исполнительной среде (CLR) для загрузки, компиляции (при необходимости) и выполнения сборки Общие сборки .NET хранятся в глобальном кэше сборок (GAC). Наличие глобального кэша экономит дисковое пространство и память, поскольку на стадии выполнения программы на диске или в памяти достаточно хранить лишь один экземпляр сборки. При программировании в .NET ключи (открытый и закрытый) обычно создаются утилитой sn.exe, входящей в .NET SDK (сокращение «sn» означает «strong name», то есть «сильное имя»).

Интегрированная средой разработки Visual Basic .NET

Выражения, операторы и передача управления

Классы и объекты Отладка объектно-ориентированных программ

Наследование и интерфейсы

Обработка событий и делегаты Обработка ошибок в VB .NET

Формы Windows, графический вывод и печать

Расчет характеристик надежности Надежность информационных систем Типовые примеры и их решения