|
|||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
Автоматична збірка сміття: ліквідація витоку пам'яті
У програмістів,
що працюють на Visual Basic,
завжди виникали проблеми з
витоком пам'яті із-за так званих
циклічних посилань (ситуація, при
якій об'єкт А посилається на об'єкт В,
а об'єкт В посилається на об'єкт
А). Якщо поява циклічних
посилань була обумовлена логікою
програми, компілятор VB не розпізнавав їх,
внаслідок чого пам'ять, займана
цими об'єктами, не звільнялася.
Система збірки сміття, вбудована
в .NET CLR, вирішує проблему циклічних
посилань інакше — інтелектуальний
алгоритм виявляє циклічні
посилання, розриває їх і звільняє
займану пам'ять. Звичайно, за
додаткові можливості
доводиться платити; достоїнства і
недоліки автоматичної збірки
сміття розглядаються в розділі 4.
У всіх версіях
Visual Basic використовувався механізм
обробки помилок, BASIC, що
з'явився в найпершій версії (з тих пір
пройшло майже 40 років!). М'яко кажучи, у
нього є недоліки. А якщо
виражатися відверто,
використання в сучасній мові
програмування команди On Error Goto,
програми, що неймовірно
ускладнює логіку, — сущий абсурд. У VB
.NET реалізована
структурна обробка помилок (див. розділ
7), найсучасніший і могутніший
механізм обробки помилок.
Багатопотокова
програма виконує декілька
функцій одночасно. Наприклад, в
поштових клієнтах під час прийому
нових повідомлень можна читати
стару електронну пошту.
Користувачі цінують подібні
можливості, але в колишніх версіях VB
написання багатопотокових
застосувань було дуже непростим
завданням. В розділі 10 ми розглянемо
достоїнства і недоліки цієї
нової, надзвичайно могутньої
можливості VB .NET.
|
|
|||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||