Saya menemukan utas palsu dibuka dengan ASP online dan menemukan bahwa itu bertepatan dengan program yang saya buat sebelumnya, tetapi saya menggunakan VB sebelumnya, mengambilnya dan memesannya.
1. Prinsip -prinsip Eksperimen tentu saja sama. Kami menggunakan server web untuk mendukung beberapa utas dan mengirim beberapa permintaan HTTP ke server di halaman yang sama untuk menyelesaikan pekerjaan kami. Mari kita bereksperimen terlebih dahulu, tulis 2 file txt secara bersamaan pada halaman untuk membandingkan perbedaan dalam waktu penulisan. Kode adalah sebagai berikut: <%
startTime = timer ()
'' -----------------------------------------------------------------------------------------------------------------------------
function runthread ()
redup http
Setel http = server.CreateObject ("msxml2.xmlhttp")
Http.open "get", "http://127.0.0.1/thread.asp?action=b", false
Http.send ()
fungsi akhir
Fungsi A ()
Konten redup, filepath, myfile
Konten = sekarang () & chr (30) & timer ()
Filepath = server.mappath ("a.txt")
Atur fso = createObject ("Scripting.filesystemObject")
Setel myFile = fso.createTextFile (filepath, true)
Myfile.write (konten)
Myfile.close
fungsi akhir
Fungsi B ()
Konten redup, filepath, myfile
Konten = sekarang () & chr (30) & timer ()
Filepath = server.mappath ("b.txt")
Atur fso = createObject ("Scripting.filesystemObject")
Setel myFile = fso.createTextFile (filepath, true)
Myfile.write (konten)
Myfile.close
fungsi akhir
if (request.queryString ("action") = "") lalu
runthread ()
A()
kalau tidak
B()
akhiri jika
%> Waktu eksekusi skrip: <%= fix ((timer ()-startime)*1000)%> ms Hasilnya setelah berjalan menunjukkan bahwa waktu dalam file A dan file B pada dasarnya sama. 2. Perbandingan Aplikasi Praktis. Misalnya, saya mengambil kode HTML 2 halaman secara bersamaan, satu beranda Sohu dan satu adalah beranda Sina. Dalam dua cara: satu adalah urutan eksekusi kode reguler, eksekusi utas tunggal, dan yang lainnya adalah eksekusi multi-thread di sini. Bandingkan waktu penyelesaian halaman, kodenya adalah sebagai berikut: testspeed1.asp: <%
startTime = timer ()
function getHttppage (URL)
pada kesalahan resume berikutnya
redup http
Setel http = server.CreateObject ("msxml2.xmlhttp")
Http.open "post", url, false
Http.send ()
Jika http.readystate <> 4 maka fungsi keluar
getHttppage = bytes2btr (http.responseBody)
Isi = getHttppage
Response.write "<xmp>"
Response.write (konten)
Response.write "</xmp>"
atur http = tidak ada
Jika err.number <> 0 maka err.clear
fungsi akhir
Fungsi bytes2btr (VIN)
redup strreturn
redup i, kode ini, nextcharcode
strreturn = ""
Untuk i = 1 ke lenb (vin)
Kode ini = ASCB (midb (vin, i, 1))
Jika kode ini <& H80 maka
Strreturn = Strreturn & CHR (Kode ini)
Kalau tidak
NextCharCode = ASCB (midb (vin, i+1,1)))
Strreturn = Strreturn & Chr (Clng (ThisCharcode) * & H100 + CINT (NextCharCode))
i = i + 1
Akhiri jika
Berikutnya
BYTES2BSTR = Strreturn
Fungsi akhir
getHttppage ("http://www.sohu.com/")
getHttppage ("http://www.sina.com.cn/")
%> Waktu eksekusi skrip: <%= fix ((timer ()-startime)*1000)%> ms testspeed2.asp: <%
startTime = timer ()
function getHttppage (URL)
pada kesalahan resume berikutnya
redup http
Setel http = server.CreateObject ("msxml2.xmlhttp")
Http.open "post", url, false
Http.send ()
Jika http.readystate <> 4 maka fungsi keluar