創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!
成都創(chuàng)新互聯(lián)長期為上千客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網生態(tài)環(huán)境。為岱山企業(yè)提供專業(yè)的網站建設、做網站,岱山網站改版等技術服務。擁有十載豐富建站經驗和眾多成功案例,為您定制開發(fā)。Java項目中創(chuàng)建線程的方法有哪些?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
Java 創(chuàng)建線程的兩個方法
Java提供了線程類Thread來創(chuàng)建多線程的程序。其實,創(chuàng)建線程與創(chuàng)建普通的類的對象的操作是一樣的,而線程就是Thread類或其子類的實例對象。每個Thread對象描述了一個單獨的線程。要產生一個線程,有兩種方法:
◆需要從Java.lang.Thread類派生一個新的線程類,重載它的run()方法;
◆實現(xiàn)Runnalbe接口,重載Runnalbe接口中的run()方法。
為什么Java要提供兩種方法來創(chuàng)建線程呢?它們都有哪些區(qū)別?相比而言,哪一種方法更好呢?
在Java中,類僅支持單繼承,也就是說,當定義一個新的類的時候,它只能擴展一個外部類.這樣,如果創(chuàng)建自定義線程類的時候是通過擴展 Thread類的方法來實現(xiàn)的,那么這個自定義類就不能再去擴展其他的類,也就無法實現(xiàn)更加復雜的功能。因此,如果自定義類必須擴展其他的類,那么就可以使用實現(xiàn)Runnable接口的方法來定義該類為線程類,這樣就可以避免Java單繼承所帶來的局限性。
還有一點最重要的就是使用實現(xiàn)Runnable接口的方式創(chuàng)建的線程可以處理同一資源,從而實現(xiàn)資源的共享.
(1)通過擴展Thread類來創(chuàng)建多線程
假設一個影院有三個售票口,分別用于向兒童、成人和老人售票。影院為每個窗口放有100張電影票,分別是兒童票、成人票和老人票。三個窗口需要同時賣票,而現(xiàn)在只有一個售票員,這個售票員就相當于一個CPU,三個窗口就相當于三個線程。通過程序來看一看是如何創(chuàng)建這三個線程的。
public class MutliThreadDemo { public static void main(String [] args){ MutliThread m1=new MutliThread("Window 1"); MutliThread m2=new MutliThread("Window 2"); MutliThread m3=new MutliThread("Window 3"); m1.start(); m2.start(); m3.start(); } } class MutliThread extends Thread{ private int ticket=100;//每個線程都擁有100張票 MutliThread(String name){ super(name);//調用父類帶參數(shù)的構造方法 } public void run(){ while(ticket>0){ System.out.println(ticket--+" is saled by "+Thread.currentThread().getName()); } } }
網站標題:Java項目中創(chuàng)建線程的方法有哪些-創(chuàng)新互聯(lián)
網址分享:http://www.rwnh.cn/article4/cedeie.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供Google、微信小程序、面包屑導航、網站建設、ChatGPT、網站設計公司
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容