今天初步了解了多線程的一些知識..
?
首先,對于現在的電腦來說,操作系統通常都可以執行好幾個程序,可是CPU只有一個,因此,通常采用分時的方式(分時操作系統)來"同時"處理多個進程.而"同時"卻并非真正意義上的"同時",而是每個進程分別在某個時間段內占用CPU,當這個時間段結束之后,再由CPU來選擇下一個進程執行.而進程又可以將進程再分的更細,即每個線程都是獨立的,進程的中的主線程通知其他線程之后,由其他線程自己都執行各自的任務.好比人,我們的身體就同時有多個線程在各自獨立的執行,例如:我們可以邊吃飯,邊看電視,同時還要呼吸,心跳等等.
?
java中能完成線程功能的類是java.lang.Thread
每個線程的實現都要通過新建一個Thread類的對象去調用start();方法,而這個start();方法在執行時會自動去程序中找run();方法因此,一個線程要執行的代碼,就是run();方法中的代碼..
?
為了能讓這個線程不斷的執行下去,通常將要執行的代碼寫入一個死循環中.由此也就產生了問題,如果這個線程一直在執行,那么CPU也就無法去執行其他的任務 ...????? 可以通過Thread類中的sleep方法暫停該進程,sleep方法中需要傳入的參數以毫秒為單位(1000ms = 1s),同時,當一個線程暫停時間到了之后,也不能保證這個線程能馬上執行,而要等到CPU再次選到這個線程執行的時候,這個線程才能繼續進行,也就是說sleep方法能夠保證這個線程至少暫停n毫秒(n為傳入的參數).
?
?
基于以上的一些理解.寫了一個窗體內能產生多個彈球的JFrame
?
球與球之間的碰撞以及效果.. 暫時還沒有加入方法..
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
