Действительно ли Комета легче в ASP.NET с Асинхронными Страницами?

Darren Thomas дает хороший ответ. Однако одна большая разница между Java и подходами Python - то, что с подсчетом ссылок в общем падеже (никакие циклические ссылки) объекты сразу очищены, а не в некоторую неопределенную более позднюю дату.

, Например, я могу записать неаккуратный, непортативный код в CPython такой как

def parse_some_attrs(fname):
    return open(fname).read().split("~~~")[2:4]

и дескриптор файла для того файла, который я открыл, будет сразу очищен, потому что, как только ссылка на открытый файл уходит, файл собран "мусор", и дескриптор файла освобожден. Конечно, если я выполню Jython или IronPython или возможно PyPy, тогда сборщик "мусора" будет не обязательно значительно позже работать; возможно у меня закончатся дескрипторы файлов сначала, и моя программа откажет.

, Таким образом, НЕОБХОДИМО писать код, который похож

def parse_some_attrs(fname):
    with open(fname) as f:
        return f.read().split("~~~")[2:4]

, но иногда людям нравится полагаться на подсчет ссылок к всегда свободному их ресурсы, потому что это может иногда делать код немного короче.

я сказал бы, что лучший сборщик "мусора" является тем с лучшей производительностью, которая в настоящее время, кажется, стиль Java сборщики "мусора" поколений, которые могут работать в отдельном потоке и имеют всю эту сумасшедшую оптимизацию и т.д. Различия к тому, как Вы пишете свой код, должны быть незначительными и идеально не существовать.

5
задан Cheeso 18 November 2009 в 14:57
поделиться

1 ответ

The asynchronous processing in .NET does indeed provide a basis for building comet applications. Specifically, it's the IHttpAsyncHandler that can be used as a foundation.

That said, without a third-party library, implementing Comet from scratch is... difficult. There's a .NET implementation of Comet for IIS called WebSync that would compare against Jetty.

4
ответ дан 15 December 2019 в 01:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: