» Главная
eXcode.ru » Статьи » .NET » C#
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 5





Взаимодействие управляющая среда и небезопасный код




Осборн: Расскажите поподробнее о том, как взаимодействует управляющая среда и небезопасный код.

Хейлсберг: Одним из свойств, характеризующих окружения, управляющие выполнением, как в SmallTalk, Java, и .NET CLR (общая среда выполнения), является то что они обеспечивают сбор мусора. А чтобы обеспечить сбор мусора, а особенно с современными сборщиками мусора, вам необходимо знать о выполняемом коде больше, чем вы знали о традиционном неконтролируемом коде. Для того чтобы находить мертвые объекты методом исключения, вам необходимо прогуливаться по стэку, опускаться до самых корней, и выяснять какие объекты живут и какие больше не используются. Несмотря на то, делать это возможно, требуется более близкая связь между кодом, который вы выполняете. Код должен описывать многое. Нужно чтобы он говорил, как он расположен в стеке, где его локальные переменные и так далее.

Когда вы пишете программу на C#, вы имеете возможность делать не типозащищенные операции, например, работа с указателями. Код, естественно, маркируется как небезопасный, но это не значит, что он будет запускаться в недоверяющей среде. Чтобы запустить код, вы должны заслужить доверия, если вы этого не сделаете - код запущен не будет. В этом отношении он не отличается от других примеров native кода. Настоящее различие заключается в том, что он все же выполняется в контролируемом пространстве. Методы, которые вы пишете, будут иметь таблицы описаний, они скажут вам какие объекты живы, и не придется пересекать границу порядка при переходе к этому коду. В отличие от этого, когда вы переходите к неописанному, неуправляемому коду (как например, в Java Native Interface), вам необходимо использовать специальные метки или воздвигать барьер в стэке. Вам нужно пересортировывать все аргументы, которые располагаются вне блока. Используя объект вам нужно быть предельно осторожным, так как СМ [Сборщик мусора], все еще работает в другом потоке (thread). Он может удалить объект, если вы не закрепили его надежно, использованием некоторого скрытого метода, делающего объект закрытым. Если же вы забудите сделать это - полагайтесь только на свою удачу.

Мы применяем другой подход. Мы говорим: "Давайте обеспечим взаимодействие с языком. Давайте предложим фиксированные операторы, которые позволят вам закреплять объект, совместно с СМ". Путь по которому мы идем, позволяет оставить работать весь существующий код, вместо того чтобы просто его выкидывать. Это совершенно иной подход.

Осборн: Так память, с которой мы работаем в небезопасных блоках, на самом деле просматривается сборщиком мусора?

Хейлсберг: Да это так, но все это небезопасно. Вы можете получить указатель и сделать что-либо плохое. Но вы также можете сделать это в native коде.

Источник: www.cyberguru.ru

К началу статьи





Добавил: LedWormДата публикации: 2008-02-29 14:00:32
Рейтинг статьи:4.00 [Голосов 3]Кол-во просмотров: 13170

Комментарии читателей

Всего комментариев: 3

2012-07-22 22:41:22
podal-prodal.ru
<a href=http://www.podal-prodal.ru/>сайт бесплатных объявлений</a>

2011-10-01 21:14:02
2003303
Напишите

2009-02-08 04:08:09
slutozator
Это реальная история. Я решил ее поведать вам, что бы рассказать о жизненных ситуациях которые могут произойти с каждым из вас.
Как всегда это случилось в самый неожиданный момент когда Кольки на жена уехала к своим родителям
Мы не долго думая решили [b]вызвать хлюшек[/b]. Как всегда из закладок вызываем каталог [url=http://ru.xxl4vip.com]Московских проституток[/url] и ищем подходящих телок.
Вот [b]две проститутки[/b] названы и вызваны к Кольке на квартиру. Мне пришлось бежать в магазин за сопутствующими товарами и выпивкой
Первая телочка прибыла раньше второй на 20 минут. За это время мы уже успели захмелеть и познакомиться с первой [b]проституткой[/b].
Вторая была просто фото модель. Титьки, жопа, фигура и главное лицо были как с обложки глянцевого журнала. Даже не верилось что эта девушка [b]проститутка[/b].
Она долталась мне, так как Колько уже достаточно выпил и ему было все равно с кем быть.
Все шло отлично и близилось к тому что уже собирались какждый уединиться в отдельной комнате. Но тут в дверь неожиданно позвонили.
Как вы думаете кто это был? Да, да, Светка, Колькина жена. И что нам оставалось делать? ......
Как вы думаете? Ваши мнения господа. Кто и как вышел из этой ситуации будь на месте Кольки.
Окончание в следующем посте.
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Вы жалеете, что Билли уходит на пенсию?
Гореть ему в АДУ!!!
41% (53)
Побыстрее бы ушел!
5% (6)
Уйдет он, придет другой!
28% (36)
А мне все равно, я Mac юзаю!
2% (3)
Жаль, дядю Билла :(
12% (15)
Может он передумает?!
13% (17)

Проголосовало: 130
Решили Винду под банкомат поставить. Поставили - работает. Вставили кредитку. Появилось сообщение:
Введите Ваш пин-код.
Ввели. Дальше сообщение:
Сохранить пароль при следующих входах? - Да/Нет (Не предлагать больше сохранять никакие пароли)
Рейтинг: 8.5/10 (6)
Посмотреть все анекдоты