» Главная
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]Кол-во просмотров: 13782

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

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

Пароль:



Регистрация

Какую P2P-сеть предпочитаете?
Kazaa
6% (7)
Shareaza
2% (3)
Ml'Donkey
9% (11)
BitTorrent
21% (27)
Другой
8% (10)
А что такое P2P?
21% (27)
Ничем не пользуюсь
28% (35)
Ненавижу P2P!!!
6% (7)

Проголосовало: 127
Заходит старушка в трамвай, предупреждая всех что у нее в сумке яйца. Проходя мимо молодого человека, задевает его маленький мешочек. ОН:
- Ах..., острожнее, тв@ю мать.
ОНА, слегка ударяя по мешку ножкой:
- А что у тебя там?
ОН, ударяя ногой по ее сумке со всей дури и разбивая к чертям собачьим все яйца.
- ДУРА! Там же ВИНЧЕСТЕР!
Рейтинг: 1/10 (1)
Посмотреть все анекдоты