Si j'ai mis des threads: vrai dans mon application.fichier yaml, quelles sont les règles qui régissent lorsqu'une nouvelle instance sera créée pour servir une demande, par rapport à quand un nouveau thread est créé sur une instance existante?
Comme les gens disent, ici, si une instance antérieure est déjà à l'aide de 10 threads, une nouvelle instance avec un nouveau thread serait mis en place. Un nouveau sujet sera créé si tous les autres threads sont occupés, ils doivent être soit de l'attente d'une réponse ou avec les résultats de calcul.
Si j'ai une application qui effectue quelque chose de calcul intensif sur chaque demande, ne le multi-threading m'acheter quoi que ce soit? En d'autres termes, est un exemple d'un multi-core instance ou d'un seul cœur?
Maintenant, cette question est très controversée. Tout le monde connaît la réponse mais qu'ils sont encore sceptiques. Le Multi-threading ne peut jamais acheter pour vous si votre tâche est basée sur des calculs sauf si vous utilisez un processeur multi-core, ne me demandez pas pourquoi un processeur multi-core aidera à mieux, vous connaissez la réponse. Maintenant, google app engine n'est pas assez sophistiquée pour décider que, lorsque de nouveaux threads doit être envoyé à l'autre processeur/core(si elle existe), seules les nouvelles instances sont expédiés à l'autre core/processeur. Voulez que votre thread à exécuter dans l'autre core/processeur? Bien, jeter un peu de qualifications, et booya! Rappelez-vous, c'est jusqu'à vous de décider si les threads doivent s'exécuter dans d'autres noyaux de transformateurs, le moteur ne peut pas prendre la responsabilité pour de tels car cela pourrait conduire à de nombreuses confusions, le moteur n'est pas Dieu. En bref, par défaut, l'instance est seul core, le moteur ne peut pas décider pour vous quand il doit aller en multi-core.
Ou sont les nouveaux threads seulement en rotation quand les threads sont en attente sur IO?
La première partie de ma réponse efface. Oui, ils n'en rotation lorsque les threads existants sont occupés, c'est comment des threads œuvres, pour éviter les blocages.
Maintenant, je peux vous dire tout cela, de mon expérience personnelle, j'ai travaillé sur l'app engine pour de nombreux mois et programmation/débogué/testé les applications qui ont été fortement dépendants des threads de l'architecture. Si vous voulez, je peux ajouter des références(je n'ai pas de références, juste l'expérience personnelle, mais je suis prêt à rechercher et à mettre les choses sur la table pour vous), mais je ne pense pas qu'ils sont nécessaires dans ce cas, des threads fonctionne de manière évidente que j'ai validé moi-même.