天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

VS 2010中內(nèi)核窗戶問(wèn)題解析

  隨著微軟Visual Studio 2010和.NET Framework 4.0的推出,微軟向開發(fā)人員提供了創(chuàng)建多線程應(yīng)用程序的更好的工具和類庫(kù)。在這篇文章中,筆者將為您介紹Concurrency Visualizer的新功能是什么以及它能夠提供什么類型的信息。

  要把Visual Studio 2010的Concurrency Visualizer功能真正地應(yīng)用到業(yè)務(wù)中,你需要點(diǎn)擊最初的資源沖突表上面的三個(gè)按鈕。讓我們首先點(diǎn)擊左邊的處理器利用率圖表(見圖4)。

  這個(gè)處理器利用率圖表顯示你的應(yīng)用程序如何在使用處理器的整個(gè)狀況的一個(gè)可視化的指標(biāo)。這個(gè)圖表顯示W(wǎng)indows可用的邏輯處理器的數(shù)量。例如,在上面的圖表中,一個(gè)英特爾酷睿2雙核處理器在這個(gè)操作系統(tǒng)中啟用了兩個(gè)邏輯處理器。

  雖然這個(gè)剖析會(huì)話已經(jīng)就位,但是,Visual Studio不僅要收集有關(guān)你的應(yīng)用程序的信息,而且還要收集這個(gè)系統(tǒng)中每一個(gè)其它進(jìn)程使用處理器的信息。采用默認(rèn)的顏色方案,你自己的應(yīng)用程序的處理器利用率用綠色顯示,其它進(jìn)程用黃色顯示,空閑時(shí)間用灰色顯示。

  在屏幕的上方,你可以看到一個(gè)滑動(dòng)條。你可以使用這個(gè)滑動(dòng)條放大和縮小這個(gè)圖表。你還可以選擇這個(gè)圖表中的一個(gè)區(qū)域直接放大到選擇中。這個(gè)圖表是以時(shí)間為基礎(chǔ)的:時(shí)間從左邊向右邊運(yùn)行并且按照毫秒(也就是千分之一秒)顯示。

  成功的線程的一個(gè)指標(biāo)是你的應(yīng)用程序的處理器使用能夠超過(guò)一個(gè)邏輯處理器的限制。如果你的應(yīng)用程序是計(jì)算密集型的,你的應(yīng)用程序的綠色區(qū)域越接近圖表的頂端,這個(gè)應(yīng)用程序利用系統(tǒng)中多個(gè)邏輯處理器的效率就越高。

  Visual Studio提供的第二個(gè)、也是更有趣的圖表是線程圖表。要啟動(dòng)這個(gè)圖表,可點(diǎn)擊這個(gè)窗口上方的線程按鈕,或者在上面的當(dāng)前窗口下拉式菜單中選擇同樣名稱的窗口。

  這個(gè)線程圖表(圖5)顯示在你的應(yīng)用程序生命周期期間存在的全部線程,當(dāng)你執(zhí)行這個(gè)應(yīng)用程序的時(shí)候顯示綠色,在等待同步的時(shí)候顯示為紅色,在執(zhí)行輸入/輸出操作的時(shí)候顯示紫色,或者在休眠的時(shí)候顯示為藍(lán)色。你看的圖表中的綠色線條越多,通常就越好。此外,除了這個(gè)線程之外,你在上面還能看到兩條線,用于監(jiān)視硬盤讀和寫。如果你有一個(gè)以上的硬盤,那么,每一個(gè)硬盤都要增加兩條線。

  再說(shuō)一次。你可以使用鼠標(biāo)放大這個(gè)圖表或者選擇使用上面的放大滑動(dòng)條。你還可以從左上角排序這個(gè)圖表。在默認(rèn)狀態(tài)下,線程是按照開始時(shí)間排序的。但是,你還可以通過(guò)監(jiān)視的操作或者停止時(shí)間排序。

  除了基本的排序之外,這個(gè)線程圖表允許你使用頂端的箭頭按鈕按照方便的次序排列線程。這個(gè)功能是有用的,如果你需要比較兩個(gè)或者更多的線程的功能的話。通過(guò)把這些線程相互之間緊密地排列在一起,你的工作會(huì)更容易。

  當(dāng)你要微調(diào)一個(gè)特定時(shí)間段的時(shí)候,這個(gè)線程圖表中顯示的線程圖表完全是可點(diǎn)擊的。這意味著在放大到足夠近的時(shí)候,你能夠看到以不同顏色表示的段。你可以點(diǎn)擊每一個(gè)段查看一個(gè)特定的段的詳細(xì)信息。還需要指出的是,每當(dāng)你點(diǎn)擊一個(gè)段的時(shí)候,Visual Studio如何在這個(gè)圖表下面給你一些額外的指令。

  每當(dāng)你在線程圖表中點(diǎn)擊一個(gè)段的時(shí)候,你在這個(gè)圖表下面都能看到包含有趣的信息的額外標(biāo)簽。例如,Visual Studio能夠向你顯示一個(gè)所謂的解除封鎖的棧。這個(gè)棧向你提供有關(guān)允許另一個(gè)線程運(yùn)行的一個(gè)線程的信息。這個(gè)示意標(biāo)簽也是有用的。這個(gè)非神秘化(Demystify)按鈕向你提供有關(guān)這個(gè)產(chǎn)品中的一個(gè)特定功能的更多信息。Concurrency Visualizer功能提供的第三個(gè)主要窗口叫做內(nèi)核(Cores)。從技術(shù)上說(shuō),這個(gè)名稱不是很準(zhǔn)確,因?yàn)檫@個(gè)內(nèi)核功能的目的是顯示你的應(yīng)用程序利用系統(tǒng)中的多個(gè)邏輯處理器的效率如何。

  然而,這個(gè)內(nèi)核功能將發(fā)揮作用,即使你有多個(gè)物理處理器而不是多個(gè)內(nèi)核。這種情況的發(fā)生是因?yàn)閷?duì)于操作系統(tǒng)來(lái)說(shuō),一個(gè)物理處理器或者處理器中的多個(gè)內(nèi)核是一樣的:它們都是邏輯處理器,都能夠在上面執(zhí)行線程。但是,即使有這么小一點(diǎn)的技術(shù)準(zhǔn)確性,“內(nèi)核”這個(gè)詞在這個(gè)案例中有理由是正確的,因?yàn)槟壳暗拇蠖鄶?shù)系統(tǒng)事實(shí)上都是采用多核處理器,而不是采用多個(gè)處理器。

  這個(gè)內(nèi)核窗口(見圖6)允許你看到一個(gè)時(shí)間表,在這個(gè)系統(tǒng)上的每一個(gè)邏輯處理器上能夠執(zhí)行多少工作。就像使用其它兩個(gè)窗口一樣,你可以方法內(nèi)核圖片,把鼠標(biāo)放在時(shí)間表上查看更多的細(xì)節(jié)。這個(gè)圖表上的每一個(gè)線程都有不同的顏色,圖表的下面顯示文字說(shuō)明。如果你的應(yīng)用程序包含十幾個(gè)線程,發(fā)現(xiàn)不同的顏色是很困難的,但是,在大多數(shù)情況下,這個(gè)圖片的是很容易使用的。

  理解圖片

  要能夠看到關(guān)于你的線程的詳細(xì)信息和這些線程是如何運(yùn)行的對(duì)于開發(fā)人員的工具箱都是一個(gè)極好的增加的工具。然而,你編寫的應(yīng)用程序越復(fù)雜,理解這些圖片和細(xì)節(jié)的含義就越重要。如果把事情簡(jiǎn)化一些,目前開發(fā)人員最緊迫的需求是保證應(yīng)用程序能夠最充分地利用當(dāng)前處理器的多個(gè)內(nèi)核。這個(gè)事情本身就有些復(fù)雜,但是,當(dāng)你要保證你的代碼開足油門運(yùn)行的時(shí)候,這個(gè)事情就會(huì)更復(fù)雜。這要求理解不同的性能瓶頸以及它們?nèi)绾卧谖④沄isual Studio顯示的不同的剖析圖表中表現(xiàn)自己。

  完全理解這些圖表是另一篇文章的話題。但是,你首先可以從一個(gè)很好的小的Visual Studio 2010幫助主題開始。這個(gè)主題的名稱是“行為糟糕的多線程應(yīng)用程序的常見方式”,可以在網(wǎng)絡(luò)上的MSDN說(shuō)明文件中找到。

  結(jié)論

  在這篇文章中,我們學(xué)習(xí)了名為“Concurrency Visualizer”的Visual Studio 2010的新功能是什么以及它能夠提供什么類型的信息。此外,你了解到你至少需要一個(gè)高級(jí)版本的微軟Visual Studio軟件來(lái)使用這個(gè)功能。即使使用高級(jí)版本,你還需要使用至少Windows Vista操作系統(tǒng)。

  特別是如果你在使用Task Parallel Library (TPL,任務(wù)并行庫(kù))或者PLINQ連接你的應(yīng)用程序,那么,你將從微軟Visual Studio 2010中提供的新的調(diào)試和剖析工具中得到極大的好處。例如,通過(guò)使用Concurrency Visualizer把新的并行棧與并行任務(wù)結(jié)合在一起,這將更容易保證你的應(yīng)用程序最充分地利用現(xiàn)代的多核處理器。

NET技術(shù)VS 2010中內(nèi)核窗戶問(wèn)題解析,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美一区二区高清 | 果冻传媒在线观看完整版免费 | 视频一区国产精戏刘婷30 | 把手戳进美女尿口里动态图 | 亚洲AV香蕉一区区二区三区蜜桃 | 男人插曲女人下生免费大全 | 日韩精品真人荷官无码 | 国产三级精品三级在线观看 | 久99久热只有精品国产99 | 国产99精品视频 | 久久久无码精品亚洲欧美 | 青青草国产偷拍在线av | 久久久久99精品成人片三人毛片 | 在线观看qvod | 538prom国产在线视频一区 | 天天综合亚洲综合网站 | 51久久成人国产精品麻豆 | 国产香蕉视频 | 欧洲最大无人区免费高清完整版 | 乱辈通奷XXXXXHD猛交 | 中文字幕在线久热精品 | 永久午夜福利视频一区在线观看 | 久久国产精品免费网站 | 99re久久热在线播放快 | 老湿司午夜爽爽影院榴莲视频 | 东京热无码中文字幕av专区 | 被cao的奶水直喷高H | 色婷婷综合久久久中文字幕 | 亚洲精品天堂在线观看 | 色婷婷国产精品视频一区二区三区 | 三级黄色一级视频 | 亚洲成人免费看 | 外女思春台湾三级 | HEYZO精品无码一区二区三区 | 免费看亚洲 | 久久久久久久99精品免费观看 | 中文字幕日本久久2019 | 99热成人精品国产免男男 | 亚洲午夜精品A片久久WWW软件 | 日本艳妓BBW高潮一19 | 张开腿我尝尝你的草莓 |