Question

Je comprends qu'ils travaillent d'une manière distincte de faire un fil par utilisateur. Comment fonctionne exactement ce travail?

(Est de non-blocage »ont quelque chose à faire?)

Était-ce utile?

La solution

De la documentation Twisted:

  

Le réacteur est au cœur de la boucle d'événements au sein de Twisted - la boucle qui applications de disques en utilisant Twisted. La boucle d'événement est une construction de programmation qui attend des événements ou des messages et des dépêches dans un programme. Il fonctionne en appelant une « fournisseur d'événements » interne ou externe, qui sont généralement des blocs jusqu'à ce qu'un événement est arrivé, puis appelle le gestionnaire d'événements pertinents ( « distribue l'événement »). Le réacteur fournit des interfaces de base à un certain nombre de services, y compris les communications réseau, le filetage, et l'envoi de l'événement.

Voir aussi http://en.wikipedia.org/wiki/Event_loop

non bloquante se rapporte en ce que si vous voulez des événements de poignée sur plus d'une prise (ou, plus généralement, de plus de deux de tout type de source d'événement) dans un seul fil, vous ne peut pas utiliser blocage opérations pour gérer ces événements. Si vous faites une lecture bloquée sur la première prise, vous ne serez pas en mesure de lire la deuxième socket jusqu'à ce que quelques octets arrivent sur le premier. Cela ne sait fonctionne pas très bien, puisque vous ne pouvez pas vraiment qui socket va avoir octets à lire en premier. Au lieu de cela vous utilisez quelque chose comme select (décrit plus en détail sur la page Wikipedia lien ci-dessus) pour vous dire quel socket a octets puis les lire à partir de cette prise sans bloquer.

Tout cela signifie que vous pouvez entretenir des événements sur un certain nombre de sources d'événements, l'un après l'autre, donnant l'apparence de les traiter tous en même temps.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top