我有一個簡單的應用程序,其中包含一個按鈕以便開始記錄,並且基本上我將消息記錄到數據庫。該應用程序已經設置爲將消息記錄到數據庫。所以,我試圖在我的機器上運行我的應用程序,但同時使用兩種不同的瀏覽器(例如,谷歌瀏覽器和Internet Explorer)。我點擊這兩個瀏覽器的按鈕,但奇怪的是threadID對於兩個瀏覽器都是一樣的。但是,當我在同一瀏覽器上多次運行該應用程序時,它會在每次執行它時提供一個新的threadID。爲什麼? 因爲我期待的threadID是不同的,當我從不同的瀏覽器同時運行應用程序,因爲執行時間不同。爲什麼threadID與我同時在不同瀏覽器上運行我的應用程序時相同?
回答
ThreadID與瀏覽器無關;它與運行服務器代碼的線程有關。也就是說,aspnet工作進程(或任何正在運行你正在登錄的代碼片段)。
好吧..基本上我所做的就是用谷歌瀏覽器運行應用程序,然後不用關閉那個我用IE運行應用程序。然後我從另一個瀏覽器中單擊按鈕,但threadId保持不變。所以基本上,我應該理解你所說的「只要我在同一臺機器上運行應用程序,即使執行時間不同,它也會運行相同的線程。」 (注意:我將谷歌ASPNET工作進程我以前還沒有聽說過) – Precious 2010-07-13 08:48:08
@Precious:一旦服務器請求完成(這將發生在瀏覽器完全顯示結果之前),它可以自由地提供另一個請求。只要有併發請求正在被服務器處理(儘管很多機器有少量或許多不同的客戶機),就會使用新的線程。 – Richard 2010-07-13 09:00:21
@Richard。感謝您的澄清。 – Precious 2010-07-14 07:52:26
服務器重新使用線程來處理傳入的請求(不管您使用的是哪種瀏覽器,您使用何種計算機登錄等)。我可以將瀏覽器指向您的服務器,並獲得與您所看到的相同的ThreadId。無法保證(據我所知),您的代碼將跨多個請求在不同的線程上運行。也沒有保證(據我所知),你的代碼將跨越多個請求在同一個線程上運行。
感謝您的澄清 – Precious 2010-07-14 07:50:23
不是問題! :) – Pwninstein 2010-07-14 12:27:10
- 1. Varnish在不同的瀏覽器上行爲不同,爲什麼?
- 2. 不同瀏覽器的超時行爲?
- 3. 同一服務器上不同的GWT應用程序runnnig在相同的瀏覽器上互相干擾
- 4. 爲什麼不相同的代碼會在我的瀏覽器中產生與Codeply中相同的結果?
- 5. 爲什麼我的進程不能同時運行?
- 6. 我可以同時在iPhone上運行多個應用程序
- 7. 多次運行同一程序時,爲什麼執行時間有所不同?
- 8. 爲什麼我的網頁在設計上看起來與運行時不同?
- 9. 在瀏覽器中使用相同的CSS時,爲什麼生產CSS字體的大小與開發不同?
- 10. 爲什麼我的任務不能在Pig中同時運行?
- 11. MATLAB:在不同時間運行我的程序時獲得不同的結果
- 12. 當使用相同的瀏覽器時,網站在不同的機器上看起來大不相同
- 13. 在幾臺設備上同時運行相同的應用程序
- 14. 同時在2臺設備上運行相同的iPhone應用程序?
- 15. 使用硒在多個瀏覽器上同時運行python SCRIPT
- 16. 相同的服務器,相同的查詢,爲什麼我得到不同的查詢執行時間?
- 17. 爲什麼我在瀏覽器中獲取不同的反應比服務器
- 18. 爲什麼我運行相同的代碼但名稱不同時會得到不同的輸出結果?
- 19. 爲什麼WAV格式在不同的瀏覽器中沒有相同的mimetype?
- 20. 同時運行在同一個JVM上運行的java程序?
- 21. 在不同平臺上運行我的應用程序
- 22. 在不同瀏覽器上同步的javascript倒計時
- 23. 如何讓我的網站在不同的瀏覽器上看起來相同?
- 24. 爲什麼我的CSS動畫不能同時運行?
- 25. 爲什麼我的約束在iPhone 5和iPhone 6上運行應用程序時使佈局不同?
- 26. 不同的行爲在Firefox上,相較於其他瀏覽器
- 27. 爲什麼我們不應該使用Bower而是Yarn,同時爲相同的包下載不同的代碼?
- 28. 同時運行的應用程序kubernetes
- 29. 同時使用相同cookie的同一瀏覽器類型執行測試嗎?
- 30. 同時運行2個不同的應用程序(appcelerator)
這是一個ASP.NET Web應用程序嗎? – 2010-07-13 08:31:26
是的,它的ASP.NET應用程序 – Precious 2010-07-13 08:40:59