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