[英]Debug Threadpool in C#
我想在調試Visual C#時不更改代碼(程序已在運行)時觀察Threadpool,可以將代碼添加到監視中嗎? 也許我在調試時要求Threadpool.AvailableThreads方法。 我正在Visual Studio 2008中進行開發。
編輯:我剛剛發現在我的線程內(即在我放入線程池的方法中)執行了mysql查詢,它們占用了線程池。
我不清楚您到底想監視什么。 在VS中,線程窗口將顯示所有線程,並且通過在線程之間切換可以監視它們各自的調用堆棧。 如果需要其他詳細信息,則可能需要查看WinDbg,這將使您檢查其他詳細信息(盡管不如VS那樣容易)。
編輯:在評論中回答問題。 這是一種簡化,但是通常線程池管理着許多用於運行不同任務(例如QueueUserWorkItem)的線程。 除了線程池中的線程由線程池管理的事實外,線程池中沒有什么特別的。 這樣做的好處是可以重用線程。 創建新線程是一項昂貴的操作,因此通過重用線程可以分攤成本。
您的主線程不由線程池處理,使用Thread類創建的任何其他線程也不由線程池處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.