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



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





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




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

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

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

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

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

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

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

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





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

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

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

2018-09-15 12:51:55
Justin
Вам нужен кредит для вашего бизнеса или личных целей? Мы оказываем финансовую помощь компаниям и частным лицам с удобной для кармана процентной ставкой в размере 3% годовых. Наши условия дешевы и понятны.

Свяжитесь с нами сегодня и будет финансироваться в течение 2-4 рабочих дней. E-mail: unique2aal@gmail.com

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].
Она долталась мне, так как Колько уже достаточно выпил и ему было все равно с кем быть.
Все шло отлично и близилось к тому что уже собирались какждый уединиться в отдельной комнате. Но тут в дверь неожиданно позвонили.
Как вы думаете кто это был? Да, да, Светка, Колькина жена. И что нам оставалось делать? ......
Как вы думаете? Ваши мнения господа. Кто и как вышел из этой ситуации будь на месте Кольки.
Окончание в следующем посте.
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Какую музыку вы предпочитаете?
Techno
11% (29)
Rap
10% (26)
Rock
48% (126)
Trance
10% (27)
Pop
7% (17)
house
5% (13)
Классическую
7% (19)
Я не слушаю музыку
2% (4)

Проголосовало: 261
Транскрипция MS Internet Explorer:
[Майкрософт Интернет Испортил]
Рейтинг: 5.2/10 (4)
Посмотреть все анекдоты