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



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





бестру.ру: у нас подать частное объявление легко на сайте Bestru.ru.

bestru.ru


Продаем летающие модели вертолетов через интернет-магазин.

hobbycenter.ru




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




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

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

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

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

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

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

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

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





Добавил: LedWormДата публикации: 2008-02-29 14:00:32

Рейтинг статьи:0.00 [Голосов 0]Кол-во просмотров: 7262
Оцените статью:

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

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

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

Пароль:



Регистрация

В какой обстановке Вы программируете?
.. с пивом и друзьями ночью
9% (16)
.. без пива, но с друзьями
2% (3)
.. с кофеваркой в обнимку
23% (40)
.. с мешком чего-нибудь хрустящего
15% (27)
.. один, но с Rammstein ..
51% (89)

Проголосовало: 175
Если у тебя на компьютере постоянно живут вирусы, то еще не известно, кому в первую очередь надо лечиться.
Рейтинг: 8/10 (6)
Посмотреть все анекдоты
Москва мебель соната спальня соната кровать. Мебель Москва спальня соната.
 
eXcode.ru » Статьи » .NET » C#