J'ai trouvé un faux fil ouvert avec ASP en ligne et j'ai découvert que cela coïncidait avec un programme que j'ai fait auparavant, mais j'ai déjà utilisé VB, je l'ai choisi et réservé.
1. Les expériences de principes sont bien sûr les mêmes. Nous utilisons le serveur Web pour prendre en charge plusieurs threads et envoyer plusieurs demandes HTTP au serveur sur la même page pour terminer notre travail. Expérimentons d'abord, écrivons 2 fichiers TXT en même temps sur une page pour comparer la différence de temps d'écriture. Le code est le suivant: <%
startTime = TIMER ()
'' --------------------------------------------------------------------------------------------------------------------------
fonction runthread ()
DIM HTTP
set http = server.createObject ("msxml2.xmlhttp")
Http.open "get", "http://127.0.0.1/thread.asp?action=b", false
Http.send ()
fonction finale
fonction a ()
contenu sombre, filepath, myfile
Content = Now () & Chr (30) & Timer ()
Filepath = server.mappath ("a.txt")
Set fso = createObject ("scripting.fileSystemObject")
Définissez MyFile = FSO.CreateTextFile (FilePath, True)
Myfile.write (contenu)
Myfile.close
fonction finale
fonction b ()
contenu sombre, filepath, myfile
Content = Now () & Chr (30) & Timer ()
Filepath = server.mappath ("b.txt")
Set fso = createObject ("scripting.fileSystemObject")
Définissez MyFile = FSO.CreateTextFile (FilePath, True)
Myfile.write (contenu)
Myfile.close
fonction finale
if (request.querystring ("action") = "") alors
Runthread ()
un()
autre
b ()
terminer si
%> Temps d'exécution du script: <% = fix ((timer () - startime) * 1000)%> ms Le résultat après l'exécution montre que l'heure dans le fichier A et le fichier B est essentiellement la même. 2. Comparaison pratique des applications. Par exemple, j'attrape le code HTML de 2 pages en même temps, une page d'accueil de Sohu et une est la page d'accueil de Sina. De deux manières: l'une est l'ordre régulier de l'exécution du code, l'exécution à un seul thread, et l'autre est l'exécution multi-thread ici. Comparez le temps d'achèvement de la page, le code est le suivant: TestSpeed1.asp: <%
startTime = TIMER ()
fonction gethttppage (URL)
sur l'erreur reprendre ensuite
DIM HTTP
set http = server.createObject ("msxml2.xmlhttp")
Http.open "Post", URL, faux
Http.send ()
Si http.readystate <> 4, alors la fonction de sortie
GethTTPPAGE = BYTES2BSTR (Http.ResponseBody)
Contenu = Gethttppage
Réponse.write "<xmp>"
Response.Write (Contenu)
Réponse.write "</xmp>"
définir http = rien
Si err.number <> 0 alors err.clear
fonction finale
Fonction bytes2bSTR (VIN)
sombre Strreturn
Dim I, ThisCharcode, NextCharcode
strreturn = ""
Pour i = 1 à Lenb (vin)
ThisCharcode = ASCB (midb (vin, i, 1))
Si thischarcode <& h80 alors
Streturn = Strreturn & Chr (ThisCharcode)
Autre
NextCharcode = ASCB (Midb (Vin, I + 1,1))
Streturn = Streturn & Chr (Clng (ThisCharcode) * & H100 + Cint (NextCharcode))
i = i + 1
Terminer si
Suivant
bytes2bstr = STRRETURN
Fonction finale
Gethttppage ("http://www.sohu.com/")
Gethttppage ("http://www.sina.com.cn/")
%> Temps d'exécution du script: <% = fixe ((timer () - startime) * 1000)%> ms testspeed2.asp: <%
startTime = TIMER ()
fonction gethttppage (URL)
sur l'erreur reprendre ensuite
DIM HTTP
set http = server.createObject ("msxml2.xmlhttp")
Http.open "Post", URL, faux
Http.send ()
Si http.readystate <> 4, alors la fonction de sortie