真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

關于windows系統多線程的信息

WINDOWS操作系統中可以允許最大的線程數

這個問題的產生是因為windows32位系統,一個進程所能使用的最大虛擬內存為2G,而一個線程的默認線程棧StackSize為1024K(1M),這樣當線程數量逼近2000時,2000*1024K=2G(大約),內存資源就相當于耗盡。

驛城網站建設公司創(chuàng)新互聯,驛城網站設計制作,有大型網站制作公司豐富經驗。已為驛城超過千家提供企業(yè)網站建設服務。企業(yè)網站搭建\成都外貿網站建設要多少錢,請找那個售后服務好的驛城做網站的公司定做!

32位線程默認??臻g大小是1M,在我的64位的電腦上,32位的程序的最大虛擬內存是4G,所以線程數最多是4096個(4G/1M)。

64位的程序虛擬內存可達8T,目前來說可以支持一個巨大的線程數。但是受限于實際的物理內存大小。如果內存限制忽略不計的話,下面的表格可以最大線程數:

附:Win32將低區(qū)的2GB留給進程使用, 高區(qū)的2GB則留給系統使用。

Linux將高位1GB留給內核,低位3GB留給進程。

Windows多線程

線程體不必顯式的調用endthread函數,直接讓他return即可,在線程體返回的時候,會自動調用endthread函數,并且將線程內核對象的引用計數減1,如果你顯式的調用了endthread,可能會造成線程內核對象的引用計數多減了一次1,那么當你再次啟動它的時候,引用計數+1,但是卻是0,因此沒有被啟動。。

個人意見,未經證實。

俺使用VC,所以俺都是使用CreateThread函數來啟動線程的,對于beginthead,據說和CreateThread差不多,而且CreateThread也會調用beginthread,但是beginthread確實沒有深入研究過。。。

淺談Windows多線程編程幾個常見問題

linux下線程的實現,linux的線程編程有兩個庫pthread和pth,對于pthread的實現是內核方式的實現,每個線程在kernel中都有task結構與之對應,也就是說用ps命令行是可以看見多個線程,線程的調度也是由內核中的schedule進行的。

再來看看Windows的多線程,Windows NT和Windows95是一個搶先型多任務、多線程操作系統。因為它使用搶先型的多任務,所以它擁有與UNIX同樣平滑的處理和進程獨立。多線程就更進一步。一個獨立的程序默認是使用一個線程,不過它可以將自己分解為幾個獨立的線程來執(zhí)行,例如,其中的一個線程可以發(fā)送一個文件到打印機,而另一個可以響應用戶的輸入。這個簡單的程序設計修改可以明顯減少用戶等待的時間,讓用戶無需擔心長時間的計算、重繪屏幕、文件讀寫等帶來的不便。

多線程還可以讓你從許多高端的多處理器NT機器中得到好處。例如,你購買了一個高級的RISC機器,可以使用多達10個CPU芯片,但在開始的時候你只購買了一個CPU。你寫了一個簡單的Mandelbrot set程序,你發(fā)現需要15秒的時間來重新繪制Mandelbrot set的畫面。

那么,Windows平臺的線程和類Unix平臺(包括Linux)的進程的區(qū)別是什么呢?

熟悉WIN32編程的人一定知道,WIN32的進程管理方式與UNIX上有著很大區(qū)別,在UNIX里,只有進程的概念,但在WIN32里卻還有一個“線程”的概念,那么UNIX和WIN32在這里究竟有著什么區(qū)別呢?

UNIX里的fork是七十年代UNIX早期的開發(fā)者經過長期在理論和實踐上的艱苦探索后取得的成果,一方面,它使操作系統在進程管理上付出了最小的代價,另一方面,又為程序員提供了一個簡潔明了的多進程方法。

WIN32里的進程/線程是繼承自OS/2的。在WIN32里,“進程”是指一個程序,而“線程”是一個“進程”里的一個執(zhí)行“線索”。從核心上講,WIN32的多進程與UNIX并無多大的區(qū)別,在WIN32里的線程才相當于UNIX的進程,是一個實際正在執(zhí)行的代碼。但是,WIN32里同一個進程里各個線程之間是共享數據段的。這才是與UNIX的進程最大的不同。

對于多任務系統,共享數據區(qū)是必要的,但也是一個容易引起混亂的問題,在WIN32下,一個程序員很容易忘記線程之間的數據是共享的這一情況,一個線程修改過一個變量后,另一個線程卻又修改了它,結果引起程序出問題。但在UNIX下,由于變量本來并不共享,而由程序員來顯式地指定要共享的數據,使程序變得更清晰與安全。


網站題目:關于windows系統多線程的信息
轉載注明:http://weahome.cn/article/heejhi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部