Ich fand einen falschen Thread, der mit ASP online geöffnet war, und stellte fest, dass er mit einem Programm zusammenfiel, das ich zuvor gemacht habe, aber ich habe VB vorher verwendet, ihn abgeholt und reservierte.
1. Prinzipienversuche sind natürlich gleich. Wir verwenden den Webserver, um mehrere Threads zu unterstützen und mehrere HTTP -Anforderungen an den Server auf derselben Seite zu senden, um unsere Arbeiten abzuschließen. Lassen Sie uns zunächst experimentieren, 2 TXT -Dateien gleichzeitig auf einer Seite schreiben, um den Unterschied in der Schreibzeit zu vergleichen. Der Code ist wie folgt: <%
StartTime = Timer ()
'' ----------------------------------------------------------------------------------------------------------------------------------------------------------
Funktion RunThread ()
Dim Http
Setzen Sie http = server.createObject ("msxml2.xmlhttp"))
Http.open "get", "http://127.0.0.1/thread.asp?action=B", False
Http.send ()
Endfunktion
Funktion a ()
Dunkeler Inhalt, Filepath, MyFile
Content = now () & chr (30) & timer ()
Filepath = server.mappath ("a.txt")
Setzen Sie fso = createObject ("scripting.filesystemObject").
Setzen Sie myFile = fso.createTextfile (Filepath, true)
MyFile.write (Inhalt)
Myfile.close
Endfunktion
Funktion B ()
Dunkeler Inhalt, Filepath, MyFile
Content = now () & chr (30) & timer ()
Filepath = server.mappath ("b.txt")
Setzen Sie fso = createObject ("scripting.filesystemObject").
Setzen Sie myFile = fso.createTextfile (Filepath, true)
MyFile.write (Inhalt)
Myfile.close
Endfunktion
if (request.queryString ("action") = "") dann
RunThread ()
A()
anders
B()
Ende wenn
%> Skriptausführungszeit: <%= Fix ((Timer ()-Startime)*1000)%> MS Das Ergebnis nach dem Ausführen zeigt, dass die Zeit in Datei A und Datei B im Grunde genommen gleich ist. 2. Praktischer Anwendungsvergleich. Zum Beispiel greife ich den HTML -Code von 2 Seiten gleichzeitig, eine Sohu -Homepage und eine die Sina -Homepage. Auf zwei Arten: Eine ist die reguläre Reihenfolge der Codeausführung, der Einzel-Thread-Ausführung und der andere die Multi-Thread-Ausführung hier. Vergleichen
StartTime = Timer ()
Funktion Gethttppage (URL)
Bei der nächsten Fehleraufnahme als nächstes
Dim Http
Setzen Sie http = server.createObject ("msxml2.xmlhttp"))
Http.open "post", url, false
Http.send ()
Wenn http.readyState <> 4 dann beenden Sie die Funktion
getttppage = bytes2bstr (http.responsebody)
Inhalt = Gethttppage
Response.write "<xmp>"
Antwort.Write (Inhalt)
Response.write "</xmp>"
Setzen Sie http = nichts
Wenn err.number <> 0 dann err.clear
Endfunktion
Funktion bytes2bstr (vin)
Dimer Streturn
dim i, thischarcode, NextCharcode
Streturn = ""
Für i = 1 bis lenb (vin)
Thischarcode = ascb (Midb (vin, i, 1))
Wenn thischarcode <& h80 dann
Streturn = Streturn & chrt (thisharcode)
Anders
NextCharcode = ASCB (Midb (Vin, I+1,1))
Streturn = Streturn & chrt (clng (thischarcode) * & h100 + cint (NextCharCode))
i = i + 1
Ende wenn
Nächste
bytes2bstr = Streturn
Endfunktion
Gethttppage ("http://www.sohu.com/")
Gethttppage ("http://www.sina.com.cn/")
%> Skriptausführungszeit: <%= Fix ((Timer ()-Startime)*1000)%> MS Testspeed2.asp: <%
StartTime = Timer ()
Funktion Gethttppage (URL)
Bei der nächsten Fehleraufnahme als nächstes
Dim Http
Setzen Sie http = server.createObject ("msxml2.xmlhttp"))
Http.open "post", url, false
Http.send ()
Wenn http.readyState <> 4 dann beenden Sie die Funktion