av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

Java多線程進程應(yīng)對同一程序運行資源

Java多線程進程需要我們不斷的學(xué)習(xí),在學(xué)習(xí)的過程中我們要看看如何才能更好的改變目前的運行障礙。通俗一點說,進程就是程序的一次執(zhí)行,而線程可以理解為進程中的執(zhí)行的一段程序片段。

用一點文詞說就是,每個進程都有獨立的代碼和數(shù)據(jù)空間(進程上下文);而線程可以看成是輕量級的進程。一般來講(不使用特殊技術(shù)),同一進程所產(chǎn)生的線程共享同一塊內(nèi)存空間。#t#

同一進程中的兩段代碼是不可能同時執(zhí)行的,除非引入線程。線程是屬于進程的,當(dāng)進程退出時該進程所產(chǎn)生的線程都會被強制退出并清除。線程占用的資源要少于Java多線程進程所占用的資源。進程和線程都可以有優(yōu)先級。在線程系統(tǒng)中進程也是一個線程??梢詫⑦M程理解為一個程序的第一個線程。多進程——在操作系統(tǒng)中,能同時運行多個任務(wù)(程序)。

Java多線程進程——在同一應(yīng)用程序中,有多個順序流同時執(zhí)行。

通過鐵路售票程序來理解實現(xiàn)Java多線程的兩種方法:通過java.lang.Thread類和通過Runnable接口

java中有兩種實現(xiàn)Java多線程進程的方式。一是直接繼承Thread類,二是實現(xiàn)Runnable接口。那么這兩種實現(xiàn)Java多線程的方式在應(yīng)用上有什么區(qū)別呢?

為了回答這個問題,我們可以通過編寫一段代碼來進行分析。我們用代碼來模擬鐵路售票系統(tǒng),實現(xiàn)通過四個售票點發(fā)售某日某次列車的100張車票,一個售票點用一個線程表示。

我們首先這樣編寫這個程序:

 
 
 
  1. public class ThreadDome1{  
  2. public static void main(String[] args){  
  3. ThreadTest t = new ThreadTest();  
  4. t.start();  
  5. t.start();  
  6. t.start();  
  7. t.start();  
  8. }  
  9. }  
  10. class ThreadTest extends Thread{  
  11. private int ticket = 100;  
  12. public void run(){  
  13. while(true){  
  14. if(ticket > 0){  
  15. System.out.println(Thread.currentThread().getName() +  
  16. ”is saling ticket” + ticket–);  
  17. }else{  
  18. break;  
  19. }  
  20. }  
  21. }  
  22. }  

上面的Java多線程進程代碼中,我們用ThreadTest類模擬售票處的售票過程,run方法中的每一次循環(huán)都將總票數(shù)減1,模擬賣出一張車票,同時該車票號打印出來,直接剩余的票數(shù)到零為止。在ThreadDemo1類的main方法中,我們創(chuàng)建了一個線程對象,并重復(fù)啟動四次,希望通過這種方式產(chǎn)生四個線程。從運行的結(jié)果來看我們發(fā)現(xiàn)其實只有一個線程在運行,這個結(jié)果告訴我們:一個線程對象只能啟動一個線程,無論你調(diào)用多少遍start()方法,結(jié)果只有一個線程。


新聞標(biāo)題:Java多線程進程應(yīng)對同一程序運行資源
文章出自:http://uogjgqi.cn/article/djgeeee.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流