亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

更多QQ空间微信QQ好友腾讯朋友复制链接
您的位置:首頁/技術文章
文章詳情頁

JAVA教程:解析Java的多線程機制(3)

【字号: 作者:豬豬瀏覽:93日期:2024-06-07 11:38:16
內容: 另外,如果應用程序必須等待網絡連接或數據庫連接等數據吞吐速度相對較慢的資源時,多線程應用程序是非常有利的。基于Internet的應用程序有必要是多線程類型的,例如,當開發要支持大量客戶機的服務器端應用程序時,可以將應用程序創建成多線程形式來響應客戶端的連接請求,使每個連接用戶獨占一個客戶端連接線程。這樣,用戶感覺服務器只為連接用戶自己服務,從而縮短了服務器的客戶端響應時間。 Java語言的多線程程序設計方法 利用Java語言實現多線程應用程序的方法很簡單。根據多線程應用程序繼承或實現對象的不同可以采用兩種方式:一種是應用程序的并發運行對象直接繼承Java的線程類Thread;另外一種方式是定義并發執行對象實現Runnable接口。 繼承Thread類的多線程程序設計方法 Thread 類是JDK中定義的用于控制線程對象的類,在該類中封裝了用于進行線程控制的方法。見下面的示例代碼: //Consumer.java import java.util.*; class Consumer extends Thread { int nTime; String strConsumer; public Consumer(int nTime, String strConsumer) { this.nTime = nTime; this.strConsumer = strConsumer; } public void run() { while(true) { try { System.out.println('Consumer name:'+strConsumer+'n'); Thread.sleep(nTime); } catch(Exception e) { e.printStackTrace(); } } } static public void main(String args[]) { Consumer aConsumer = new Consumer (1000, 'aConsumer'); aConsumer.start(); Consumer bConsumer = new Consumer (2000, 'bConsumer'); bConsumer.start(); Consumer cConsumer = new Consumer (3000, 'cConsumer '); cConsumer.start(); } } 從上面的程序代碼可以看出:多線程執行地下Consumer繼承Java語言中的線程類Thread并且在main方法中創建了三個Consumer對象的實例。當調用對象實例的start方法時,自動調用Consumer類中定義的run方法啟動對象線程運行。線程運行的結果是每間隔nTime時間打印出對象實例中的字符串成員變量strConsumer的內容。 可以總結出繼承Thread類的多線程程序設計方法是使應用程序類繼承Thread類并且在該類的run方法中實現并發性處理過程。 實現Runnable接口的多線程程序設計方法 Java語言中提供的另外一種實現多線程應用程序的方法是多線程對象實現Runnable接口并且在該類中定義用于啟動線程的run方法。這種定義方式的好處在于多線程應用對象可以繼承其它對象而不是必須繼承Thread類,從而能夠增加類定義的邏輯性。 實現Runnable接口的多線程應用程序框架代碼如下所示: //Consumer.java import java.util.*; class Consumer implements Runnable { … … public Consumer(int nTime, String strConsumer){… …} public void run(){… …} static public void main(String args[]) { Thread aConsumer = new Thread(new Consumer(1000, 'aConsumer')); aConsumer.start(); //其它對象實例的運行線程 //… … } } 從上述代碼可以看出:該類實現了Runnable接口并且在該類中定義了run方法。這種多線程應用程序的實現方式與繼承Thread類的多線程應用程序的重要區別在于啟動多線程對象的方法設計方法不同。在上述代碼中,通過創建Thread對象實例并且將應用對象作為創建Thread類實例的參數。 轉自: 賽迪網 Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd 另外,?
標簽: Java
相關文章:
主站蜘蛛池模板: 看a级毛片 | 九九热香蕉视频 | 亚洲精品一区二区三区在 | 欧美黄色影视 | 制服丝袜中文字幕第一页 | 在线免费观看黄视频 | 免费看91视频 | 91欧美激情一区二区三区成人 | 热伊人99re久久精品最新地 | 欧美三片| 999国产精品999久久久久久 | 午夜影院一级片 | 搜索毛片 | 女人被两根一起进3p在线观看 | 亚洲欧美人成人让影院 | 一级国产20岁美女毛片 | 在线播放国产真实女同事 | 国产色产综合色产在线观看视频 | 2018高清国产一道国产 | 国内成人精品视频 | 一级一片一a一片 | 日韩岛国片 | 国产精品久久久影院 | 麻豆最新网址 | 亚洲精品国产成人专区 | 视频在线观看一区 | 天天干天天色综合网 | h版欧美大片免费观看 | 丁香啪啪天堂激情婷婷 | 国产午夜精品鲁丝片 | 久久视频国产 | 亚洲成人黄色在线观看 | 欧美性猛交xxxx乱大交蜜桃 | 毛片在线观看地址 | 色国产精品 | 国产高清在线精品免费 | 一级黄色毛片免费看 | 在线观看亚洲 | 国产一二三区在线 | 99综合网 | 久久精品视频免费在线观看 |