文章詳情頁
菜鳥初學Java的備忘錄(三)
瀏覽:14日期:2024-06-25 13:39:46
內(nèi)容: 今天開始學習Java中多線程的實現(xiàn).線程是一些可以并行的,獨立的執(zhí)行的代碼.之前我編的程序都只能做一件事情,也就是只有一個線程.多線程的編程就是可以將程序任務分成多個并行的子任務,同時運行,互不干擾.我對多線程的理解是從格斗游戲得來的.格斗游戲中兩人對打就是通過兩個線程來實現(xiàn)的吧,否則如何能夠你出你的招,我發(fā)我的沖擊波呢.(1月18日)突然想到一個問題,補充一下.多線程是不是我們通常所說的多任務呢?我的理解是,不能這樣說也可以這樣說. 簡單說來,多線程提供了一種在進程內(nèi)部進行多個線程并行調(diào)度的機制,而多任務則提供的是在一個操作系統(tǒng)內(nèi)部運行多個進程的機制. 多任務操作系統(tǒng)(如Windows)的基本原理是這樣的:操作系統(tǒng)將CPU的時間片分配給多個線程,每個線程在操作系統(tǒng)指定的時間片內(nèi)完成(注意,這里的多個線程是分屬于不同進程的).操作系統(tǒng)不斷的從一個線程的執(zhí)行切換到另一個線程的執(zhí)行,如此往復,宏觀上看來,就好像是多個線程在一起執(zhí)行.由于這多個線程分屬于不同的進程,因此在我們看來,就好像是多個進程在同時執(zhí)行,這樣就實現(xiàn)了多任務.Whoops,真繞口. 如上,多線程和多任務是有很明顯的區(qū)別的.但是再想一下,在一個應用程序內(nèi)實現(xiàn)多線程不也是靠CPU分配時間片嗎?既然原理是相同的,那么多線程也可以說是多任務的.一個Java程序啟動后,就已經(jīng)有一個線程在運行,我們可以通過下面的例子來初步建立一個線程的實際印象class testthread{ public static void main(String args[]){ Thread t=Thread.currentThread(); t.setName('This Thread is running'); System.out.println('The running thead:'+t); try{ for(int i=0;i
標簽:
Java
上一條:菜鳥初學Java的備忘錄(四)下一條:菜鳥初學Java的備忘錄(八)
相關(guān)文章:
排行榜
