Введение в асинхронное программирование и Twisted, Dave Peticolas
В рассылке Twisted не так давно появился вопрос: можно ли где-нибудь найти описание, которое позволит быстро овладеть техникой использования Twisted? На данный момент такого описания не существует, и данное руководство им не является. Если вы новичок в асинхронном программировании, то лучше изучать основные принципы постепенно. Исходя из продолжительного опыта использования Twisted и познания всех тонкостей и сложностей, данное пособие начинается с общего понятия модели асинхронного программирования. Большая часть кода Twisted понятна и хорошо написана, документация на сайте хорошая, по меньшей мере с точки зрения стандартов свободного ПО. Но без понятия модели, чтение кода Twisted или кода, использующего Twisted, или даже чтение документации, превратится в головную боль. Таким образом, первые главы помогают осознать модель асинхронного программирования, а последующие - постичь особенности программирования с использованием Twisted. В самом начале мы совсем не будем использовать Twisted. Вместо этого, для иллюстрации функционирования асинхронной системы мы будем использовать простые программы на Python’е. И как только мы начнем использовать Twisted, мы начнем с очень низкого уровня, который вы не использовали бы в повседневном программировании. Twisted - высоко абстрактная система, и это дает вам огромное преимущество при решении проблем. Но, когда вы изучаете Twisted, в особенности, когда вы пытаетесь понять как Twisted реально работает, многоуровневые абстракции могут быть препятствием. Поэтому мы начнем с самых основ. После того, как вы осознаете модель, вам будет проще читать документацию и исходный код Twisted. Так что - начнем.