Maison >développement back-end >Problème PHP >Quels sont les inconvénients du monothreading en php ?

Quels sont les inconvénients du monothreading en php ?

青灯夜游
青灯夜游original
2019-10-16 13:23:593465parcourir

PHP, « Hypertext Preprocessor », est un langage de script open source à usage général. PHP est un langage de script exécuté côté serveur. Il est similaire au langage C et est un langage de programmation de sites Web couramment utilisé. La syntaxe unique de PHP mélange la syntaxe C, Java, Perl et PHP. Il est propice à l’apprentissage et largement utilisé. Il convient principalement au domaine du développement web.

Quels sont les inconvénients du monothreading en php ?

PHP est monothread, alors quels sont les inconvénients du fait que PHP soit monothread ?

PHP a toujours été un programme à processus unique bien que l'extension pthreads de PHP soit disponible depuis longtemps. Mais il n'est pas assez stable et il raccrochera inexplicablement lors de son exécution ; les extensions PHP sont toutes écrites en C, ce qui signifie que toute extension présentant des problèmes de contrôle des ressources de concurrence de threads peut provoquer le blocage complet

Inconvénients du PHP monothread

1), la dénomination des fonctions n'est pas standardisée, casse et soulignement chameau, différentes positions de transfert de paramètres que vous connaissez

2), monothread ; PHP lui-même a toujours été un programme à processus unique, bien que l'extension pthreads de PHP soit disponible depuis longtemps. Mais il n'est pas assez stable et il raccrochera inexplicablement lors de son exécution ; les extensions PHP sont toutes écrites en C, ce qui signifie que toute extension présentant des problèmes de contrôle des ressources de concurrence de threads peut provoquer le blocage de l'ensemble

3. ), le réseau asynchrone principal n'est pas pris en charge (bien entendu, il n'existe qu'un modèle de réseau synchrone non bloquant sous Linux). Mais l’absence de cela rend difficile le développement d’une application réseau capable de supporter une grande concurrence. Les modèles de réseau traditionnels et io bloquent. L'approche de programmation de base est qu'un processus (ou thread) répond à une demande de connexion utilisateur. Par conséquent, il est impossible d’accomplir des tâches telles que des jeux en ligne en temps réel qui nécessitent des milliers de connexions réseau. Bien que PHP ait également des extensions Libevent et eio, qui peuvent compenser cela dans une certaine mesure, elles ne semblent pas parfaites

4). Il ne prend en charge que le développement Web et il n'est pas pratique de créer un fichier .exe. fichiers et applications de bureau. Il n'est pas pratique de créer des programmes pour téléphones mobiles

5) Il ne convient pas aux robots d'exploration et aux scripts exécutés automatiquement. Pour les projets de calcul scientifique, la structure de base de ce langage n'est pas adaptée, bien qu'il existe de nombreuses façons d'y parvenir.

6), l'entretien ultérieur est difficile. L’espace d’accélération dans la période ultérieure est assez limité.

7), le mécanisme d’interprétation et de fonctionnement de PHP. Ce mécanisme de fonctionnement permet de recycler toutes les ressources associées après l'interprétation et l'exécution de chaque page PHP. En d’autres termes, PHP n’a aucun moyen de faire résider un objet en mémoire au niveau du langage.

En PHP, toutes les variables sont au niveau de la page. Qu'il s'agisse de variables globales ou de membres statiques de la classe, elles seront effacées après l'exécution de la page. Prenons JSP comme exemple. Dans JSP, la portée de Java Bean a quatre valeurs valides : Page, Application, Session et Demande, qui correspondent respectivement aux quatre durées de vie de la page, du programme, de la session et de la demande. Mais en PHP, il n’y a qu’une seule durée de vie de Page.

Pour plus de connaissances sur PHP, veuillez visiter le site Web chinois de php !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn