ฉันพบเธรดปลอมที่เปิดด้วย ASP Online และพบว่ามันใกล้เคียงกับโปรแกรมที่ฉันทำมาก่อน แต่ฉันใช้ VB มาก่อนหยิบมันออกมาและสงวนไว้
1. การทดลองหลักการนั้นเหมือนกัน เราใช้เว็บเซิร์ฟเวอร์เพื่อรองรับหลายเธรดและส่งคำขอ HTTP หลายรายการไปยังเซิร์ฟเวอร์ในหน้าเดียวกันเพื่อให้งานของเราเสร็จสมบูรณ์ มาทดลองก่อนเขียนไฟล์ TXT 2 ไฟล์ในเวลาเดียวกันในหน้าเพื่อเปรียบเทียบความแตกต่างในเวลาเขียน รหัสมีดังนี้: <%
starttime = timer ()
-
ฟังก์ชั่น runthread ()
สลัว http
ตั้งค่า http = server.createObject ("msxml2.xmlhttp"))
http.open "get", "http://127.0.0.1/thread.asp?Action=B", FALSE
http.send ()
ฟังก์ชันสิ้นสุด
ฟังก์ชั่น A ()
เนื้อหาสลัว, filepath, myfile
content = now () & chr (30) & timer ()
FilePath = Server.Mappath ("A.txt")
ตั้งค่า fso = createObject ("Scripting.filesystemObject")
ตั้งค่า myfile = fso.createtextfile (filepath, true)
myfile.write (เนื้อหา)
myfile.close
ฟังก์ชันสิ้นสุด
ฟังก์ชั่น B ()
เนื้อหาสลัว, filepath, myfile
content = now () & chr (30) & timer ()
FilePath = Server.Mappath ("B.txt")
ตั้งค่า fso = createObject ("Scripting.filesystemObject")
ตั้งค่า myfile = fso.createtextfile (filepath, true)
myfile.write (เนื้อหา)
myfile.close
ฟังก์ชันสิ้นสุด
if (request.QueryString ("action") = "") จากนั้น
runthread ()
A ()
อื่น
B ()
สิ้นสุดถ้า
%> เวลาดำเนินการสคริปต์: <%= แก้ไข ((ตัวจับเวลา ()-เริ่มต้น)*1000)%> ms ผลลัพธ์หลังจากการทำงานแสดงให้เห็นว่าเวลาในไฟล์ A และไฟล์ B นั้นเหมือนกัน 2. การเปรียบเทียบแอปพลิเคชันเชิงปฏิบัติ ตัวอย่างเช่นฉันคว้ารหัส HTML 2 หน้าในเวลาเดียวกันหน้าแรกของ Sohu หนึ่งหน้าและอีกหนึ่งหน้าแรกคือหน้าแรกของ Sina ในสองวิธี: หนึ่งคือลำดับปกติของการดำเนินการรหัสการดำเนินการเธรดเดี่ยวและอื่น ๆ คือการดำเนินการหลายเธรดที่นี่ เปรียบเทียบเวลาเสร็จสิ้นหน้ารหัสมีดังนี้: testSpeed1.asp: <%
starttime = timer ()
ฟังก์ชั่น gethttppage (url)
เมื่อเกิดข้อผิดพลาดต่อไป
สลัว http
ตั้งค่า http = server.createObject ("msxml2.xmlhttp"))
http.open "post", url, false
http.send ()
ถ้า http.readystate <> 4 แล้วออกจากฟังก์ชัน
gethttppage = bytes2bstr (http.responsebody)
สารบัญ = gethttppage
Response.write "<xmp>"
Response.write (สารบัญ)
Response.write "</xmp>"
ตั้งค่า http = ไม่มีอะไร
ถ้า err.number <> 0 จากนั้น err.clear
ฟังก์ชันสิ้นสุด
ฟังก์ชั่น BYTES2BSTR (VIN)
สลัว strreturn
Dim I, ThischArcode, NextCharcode
strreturn = ""
สำหรับ i = 1 ถึง lenb (vin)
thischArcode = ascb (midb (vin, i, 1))
ถ้า thischode <& h80 แล้ว
strreturn = Strreturn & Chr (ThisCharcode)
อื่น
NextCharcode = ASCB (MIDB (VIN, I+1,1)))
strreturn = strreturn & chr (clng (thischarcode) * & h100 + cint (nextcharcode))
i = i + 1
สิ้นสุดถ้า
ต่อไป
bytes2bstr = streturn
ฟังก์ชันสิ้นสุด
gethttppage ("http://www.sohu.com/")
gethttppage ("http://www.sina.com.cn/")
%> เวลาดำเนินการสคริปต์: <%= fix ((timer ()-startime)*1000)%> ms testspeed2.asp: <%
starttime = timer ()
ฟังก์ชั่น gethttppage (url)
เมื่อเกิดข้อผิดพลาดต่อไป
สลัว http
ตั้งค่า http = server.createObject ("msxml2.xmlhttp"))
http.open "post", url, false
http.send ()
ถ้า http.readystate <> 4 แล้วออกจากฟังก์ชัน