Quelle est la différence entre Thread Safe et None Thread Safe en php

青灯夜游
Libérer: 2023-03-10 10:40:02
original
2235 Les gens l'ont consulté

Différence : Thread Safe signifie la sécurité des threads. Des contrôles de sécurité des threads seront effectués pendant l'exécution pour empêcher le démarrage de nouveaux threads en cas de nouvelles exigences et d'épuisement des ressources système ; tandis qu'Aucun Thread Safe signifie non. des contrôles de sécurité des threads sont effectués pendant l’exécution.

Quelle est la différence entre Thread Safe et None Thread Safe en php

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3

La version Windows de PHP démarre à partir de la version 5.2.1 Il existe Thread Safe (thread-safe) et None Thread Safe (non-thread-safe). Quelle est la différence entre les deux ?

  • Aucun Thread Safe n'est pas thread-safe et aucune vérification de sécurité des threads (thread) n'est effectuée pendant l'exécution.

  • Thread Safe signifie la sécurité des threads. Des contrôles de sécurité des threads seront effectués pendant l'exécution pour empêcher le démarrage de nouveaux threads en cas de nouvelles exigences et d'épuisement des ressources système.

À partir de la première version Windows de PHP 3.0.17 publiée le 20 octobre 2000, toutes les versions sont thread-safe. Cela est dû au fait que les systèmes Linux/Unix en utilisent plusieurs. La différence dans le fonctionnement des processus réside dans le fait que le système Windows utilise une méthode de travail multithread. Si vous exécutez PHP en mode CGI sous IIS, cela sera très lent car le mode CGI est basé sur le multi-processus et non sur le multi-thread.

Généralement, nous configurerons PHP pour qu'il s'exécute en mode ISAPI. ISAPI est une méthode multithread, qui est beaucoup plus rapide. Mais il y a un problème. De nombreuses extensions PHP couramment utilisées sont développées sur la base de la pensée multi-processus de Linux/Unix. Lorsque ces extensions sont exécutées en mode ISAPI, elles génèrent des erreurs et font tomber IIS.

Par conséquent, le mode CGI est le moyen le plus sûr d'exécuter PHP sous IIS, mais le mode CGI nécessite de recharger et de décharger l'intégralité de l'environnement PHP pour chaque requête HTTP, et sa consommation est énorme.

Afin de prendre en compte l'efficacité et la sécurité de PHP sous IIS, Microsoft a fourni une solution FastCGI. FastCGI permet de réutiliser les processus PHP au lieu de rouvrir un processus à chaque nouvelle requête. Dans le même temps, FastCGI peut également permettre à plusieurs processus de s'exécuter en même temps. Cela résout non seulement le problème de la consommation excessive du mode processus CGI, mais profite également du fait que le mode processus CGI ne présente pas de problèmes de sécurité des threads.

Par conséquent, si vous utilisez ISAPI pour exécuter PHP, vous devez utiliser la version Thread Safe (thread-safe) et si vous utilisez le mode FastCGI pour exécuter PHP, il n'est pas nécessaire d'utiliser la vérification de la sécurité des threads, utilisez Aucun ; La version Thread Safe (NTS, non thread-safe) peut mieux améliorer l'efficacité.

Apprentissage recommandé : "Tutoriel vidéo 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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!