Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Потоки в Visual Basic

Реферат Потоки в Visual Basic





лічильника збільшиться тільки на одиницю, навіть при тому, що кожен потік думав, що він незалежно збільшує значення лічильника. Іншими словами, мінлива була збільшена двічі, але значення збільшилося тільки на одиницю. Якщо Ви запускаєте кілька форм, то відразу помітите, що число збільшень, що представляється змінною TotalIncrements, зростає набагато швидше, ніж лічильник GenericGlobalCounter.

Що, якщо мінлива являє об'єктний рахунок блокування - який стежить, коли об'єкт повинен бути звільнений? Що, якщо вона являє собою сигнал, який вказує, що ресурс знаходиться у використанні?

Така проблема може призвести до появи ресурсів, постійно недоступних в системі, до об'єкту, що блокується в пам'яті, або передчасно звільненому. Це може призвести до збоїв програми.

Цей приклад був розроблений, щоб досить просто побачити проблему, але спробуйте поекспериментувати зі значенням змінної OtherCodeDelay. Коли небезпечний код відносно невеликий в порівнянні з усією програмою, проблеми з'являться менш часто. Хоча це і звучить обнадійливо, але істина полягає в наступному. Проблеми Багатопотокового режиму можуть бути надзвичайно нестійкі і їх важко виявити. Це означає, що багато-режим потребує обережного підходу до проектуванню програми.

Рішення проблем багатопоточності

Є два щодо простих способи уникнути проблем багатопотокового режиму.

Уникайте загального використання глобальних змінних.

Додайте код синхронізації скрізь, де використовуються глобальні змінні.

Перший підхід використовується в основному в Visual Basic. Коли Ви включаєте багато-режим в Visual Basic додатки, всі глобальні змінні стануть локальними для специфічного потоку. Це властиво способом, з яким Visual Basic виконує apartment model threading - докладніше про це пізніше.

Початковий випуск Visual Basic 5.0 дозволяв використовувати багатопоточність тільки в компонентах, які не мали ніяких елементів інтерфейсу користувача. Так було тому що вони не мали безпечного потоку управління формами. Наприклад: коли Ви створюєте форму в Visual Basic, VB дає їй ім'я глобальної змінної (таким чином, якщо Ви маєте форму, іменовану Form1, Ви можете безпосередньо звертатися до її методам, використовуючи Form1.метод замість того, щоб оголосити окрему змінну форми). Цей тип глобальної змінної може викликати проблеми багатопотокового режиму, які Ви бачили раніше. Там були безсумнівно інші проблеми всередині управління формами. p> З service pack 2, керування формами Visual Basic було зроблено безпечним потоком. Це говорить про те, що кожен потік має власну глобальну змінну для кожної форми, визначеної у проекті.

Що нового в Service Pack 2

Зробивши потік управління формами безпечним, Service pack 2 надав можливість за допомогою Visual Basic створювати клієнтські додатки, що використовують багато-режим. p> Додаток має бути визначено як програма ActiveX Exe з установкою запуску з S...


Назад | сторінка 4 з 15 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка програми мовою Visual Basic
  • Реферат на тему: Програма Visual Basic Script
  • Реферат на тему: Розробка програми для автоматичного розрахунку кредитних і депозитних опера ...
  • Реферат на тему: Додаток в Visual Basic для роботи з базою даних
  • Реферат на тему: Створення програми для обчислення площі геометричних фігур у середовищі Vis ...