霽彩華年,因夢同行—— 慶祝深圳霽因生物醫(yī)藥轉(zhuǎn)化研究院成立十周年 情緒益生菌PS128助力孤獨癥治療,權(quán)威研究顯示可顯著改善孤獨癥癥狀 PARP抑制劑氟唑帕利助力患者從維持治療中獲益,改寫晚期卵巢癌治療格局 新東方智慧教育發(fā)布“東方創(chuàng)科人工智能開發(fā)板2.0” 精準(zhǔn)血型 守護生命 腸道超聲可用于檢測兒童炎癥性腸病 迷走神經(jīng)刺激對抑郁癥有積極治療作用 探索梅尼埃病中 MRI 描述符的性能和最佳組合 自閉癥患者中癡呆癥的患病率增加 超聲波 3D 打印輔助神經(jīng)源性膀胱的骶神經(jīng)調(diào)節(jié) 胃食管反流病患者耳鳴風(fēng)險增加 間質(zhì)性膀胱炎和膀胱疼痛綜合征的臨床表現(xiàn)不同 研究表明 多語言能力可提高自閉癥兒童的認知能力 科學(xué)家揭示人類與小鼠在主要癌癥免疫治療靶點上的驚人差異 利用正確的成像標(biāo)準(zhǔn)改善對腦癌結(jié)果的預(yù)測 地中海飲食通過腸道細菌變化改善記憶力 讓你在 2025 年更健康的 7 種驚人方法 為什么有些人的頭發(fā)和指甲比其他人長得快 物質(zhì)的使用會改變大腦的結(jié)構(gòu)嗎 飲酒如何影響你的健康 20個月,3大平臺,300倍!元育生物以全左旋蝦青素引領(lǐng)合成生物新紀(jì)元 從技術(shù)困局到創(chuàng)新錨點,天與帶來了一場屬于養(yǎng)老的“情緒共振” “華潤系”大動作落槌!昆藥集團完成收購華潤圣火 十七載“冬至滋補節(jié)”,東阿阿膠將品牌營銷推向新高峰 150個國家承認巴勒斯坦國意味著什么 中國海警對非法闖仁愛礁海域菲船只采取管制措施 國家四級救災(zāi)應(yīng)急響應(yīng)啟動 涉及福建、廣東 女生查分查出608分后,上演取得理想成績“三件套” 多吃紅色的櫻桃能補鐵、補血? 中國代表三次回擊美方攻擊指責(zé) 探索精神健康前沿|情緒益生菌PS128閃耀寧波醫(yī)學(xué)盛會,彰顯科研實力 圣美生物:以科技之光,引領(lǐng)肺癌早篩早診新時代 神經(jīng)干細胞移植有望治療慢性脊髓損傷 一種簡單的血漿生物標(biāo)志物可以預(yù)測患有肥胖癥青少年的肝纖維化 嬰兒的心跳可能是他們說出第一句話的關(guān)鍵 研究發(fā)現(xiàn)基因檢測正成為主流 血液測試顯示心臟存在排斥風(fēng)險 無需提供組織樣本 假體材料有助于減少靜脈導(dǎo)管感染 研究發(fā)現(xiàn)團隊運動對孩子的大腦有很大幫助 研究人員開發(fā)出診斷 治療心肌炎的決策途徑 兩項研究評估了醫(yī)療保健領(lǐng)域人工智能工具的發(fā)展 利用女子籃球隊探索足部生物力學(xué) 抑制前列腺癌細胞:雄激素受體可以改變前列腺的正常生長 肽抗原上的反應(yīng)性半胱氨酸可能開啟新的癌癥免疫治療可能性 研究人員發(fā)現(xiàn)新基因療法可以緩解慢性疼痛 研究人員揭示 tisa-cel 療法治療復(fù)發(fā)或難治性 B 細胞淋巴瘤的風(fēng)險 適量飲酒可降低高危人群罹患嚴(yán)重心血管疾病的風(fēng)險 STIF科創(chuàng)節(jié)揭曉獎項,新東方智慧教育榮膺雙料殊榮 中科美菱發(fā)布2025年產(chǎn)品戰(zhàn)略布局!技術(shù)方向支撐產(chǎn)品生態(tài)縱深! 從雪域高原到用戶口碑 —— 復(fù)方塞隆膠囊的品質(zhì)之旅
您的位置:首頁 >綜合精選 >

java++在前在后的區(qū)別(java 多線程)

關(guān)于java++在前在后的區(qū)別,java 多線程這個問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看吧!

1、所要執(zhí)行的指令,也包括了執(zhí)行指令所需的系統(tǒng)資源,不同進程所占用的系統(tǒng)資源相對獨立。

2、所以進程是重量級的任務(wù),它們之間的通信和轉(zhuǎn)換都需要操作系統(tǒng)付出較大的開銷。

3、 線程是進程中的一個實體,是被系統(tǒng)獨立調(diào)度和分派的基本單位。

4、線程自己基本上不擁有系統(tǒng)資源,但它可以與同屬一個進程的其他線程共享進程所擁有的全部資源。

5、所以線程是輕量級的任務(wù),它們之間的通信和轉(zhuǎn)換只需要較小的系統(tǒng)開銷。

6、 Java支持多線程編程,因此用Java編寫的應(yīng)用程序可以同時執(zhí)行多個任務(wù)。

7、Java的多線程機制使用起來非常方便,用戶只需關(guān)注程序細節(jié)的實現(xiàn),而不用擔(dān)心后臺的多任務(wù)系統(tǒng)。

8、 Java語言里,線程表現(xiàn)為線程類。

9、Thread線程類封裝了所有需要的線程操作控制。

10、在設(shè)計程序時,必須很清晰地區(qū)分開線程對象和運行線程,可以將線程對象看作是運行線程的控制面板。

11、在線程對象里有很多方法來控制一個線程是否運行,睡眠,掛起或停止。

12、線程類是控制線程行為的唯一的手段。

13、一旦一個Java程序啟動后,就已經(jīng)有一個線程在運行。

14、可通過調(diào)用Thread.currentThread方法來查看當(dāng)前運行的是哪一個線程。

15、 class ThreadTest{ public static void main(String args[]){ Thread t = Thread.currentThread(); t.setName("單線程"); //對線程取名為"單線程" t.setPriority(8); //設(shè)置線程優(yōu)先級為8,最高為10,最低為1,默認為5 System.out.println("The running thread: " + t); // 顯示線程信息 try{ for(int i=0;i<3;i++){ System.out.println("Sleep time " + i); Thread.sleep(100); // 睡眠100毫秒 } }catch(InterruptedException e){// 捕獲異常 System.out.println("thread has wrong"); } } } 多線程的實現(xiàn)方法 繼承Thread類 可通過繼承Thread類并重寫其中的run()方法來定義線程體以實現(xiàn)線程的具體行為,然后創(chuàng)建該子類的對象以創(chuàng)建線程。

16、 在繼承Thread類的子類ThreadSubclassName中重寫run()方法來定義線程體的一般格式為: public class ThreadSubclassName extends Thread{ public ThreadSubclassName(){ ..... // 編寫子類的構(gòu)造方法,可缺省 } public void run(){ ..... // 編寫自己的線程代碼 } } 用定義的線程子類ThreadSubclassName創(chuàng)建線程對象的一般格式為: ThreadSubclassName ThreadObject = new ThreadSubclassName(); 然后,就可啟動該線程對象表示的線程: ThreadObject.start(); //啟動線程 應(yīng)用繼承類Thread的方法實現(xiàn)多線程的程序。

17、本程序創(chuàng)建了三個單獨的線程,它們分別打印自己的“Hello World!”。

18、 class ThreadDemo extends Thread{ private String whoami; private int delay; public ThreadDemo(String s,int d){ whoami=s; delay=d; } public void run(){ try{ sleep(delay); }catch(InterruptedException e) System.out.println("Hello World!" + whoami + " " + delay); } } public class MultiThread{ public static void main(String args[]){ ThreadDemo t1,t2,t3; t1 = new ThreadDemo("Thread1", (int)(Math.random()*2000)); t2 = new ThreadDemo("Thread2", (int)(Math.random()*2000)); t3 = new ThreadDemo("Thread3", (int)(Math.random()*2000)); t1.start(); t2.start(); t3.start(); } } 實現(xiàn)Runnable接口 編寫多線程程序的另一種的方法是實現(xiàn)Runnable接口。

19、在一個類中實現(xiàn)Runnable接口(以后稱實現(xiàn)Runnable接口的類為Runnable類),并在該類中定義run()方法,然后用帶有Runnable參數(shù)的Thread類構(gòu)造方法創(chuàng)建線程。

20、 創(chuàng)建線程對象可用下面的兩個步驟來完成: (1)生成Runnable類ClassName的對象 ClassName RunnableObject = new ClassName(); (2)用帶有Runnable參數(shù)的Thread類構(gòu)造方法創(chuàng)建線程對象。

21、新創(chuàng)建的線程的指針將指向Runnable類的實例。

22、用該Runnable類的實例為線程提供 run()方法---線程體。

23、 Thread ThreadObject = new Thread(RunnableObject); 然后,就可啟動線程對象ThreadObject表示的線程: ThreadObject.start(); 在Thread類中帶有Runnable接口的構(gòu)造方法有: public Thread(Runnable target); public Thread(Runnable target, String name); public Thread(String name); public Thread(ThreadGroup group,Runnable target); public Thread(ThreadGroup group,Runnable target, String name); 其中,參數(shù)Runnable target表示該線程執(zhí)行時運行target的run()方法,String name以指定名字構(gòu)造線程,ThreadGroup group表示創(chuàng)建線程組。

24、 用Runnable接口實現(xiàn)的多線程。

25、 class TwoThread implements Runnable{ TwoThread(){ Thread t1 = Thread.currentThread(); t1.setName("第一主線程"); System.out.println("正在運行的線程: " + t1); Thread t2 = new Thread(this,"第二線程"); System.out.println("創(chuàng)建第二線程"); t2.start(); try{ System.out.println("第一線程休眠"); Thread.sleep(3000); }catch(InterruptedException e){ System.out.println("第一線程有錯"); } System.out.println("第一線程退出"); } public void run(){ try{ for(int i = 0;i < 5;i++){ System.out.println(“第二線程的休眠時間:” + i); Thread.sleep(1000); } }catch(InterruptedException e){ System.out.println("線程有錯"); } System.out.println("第二線程退出"); } public static void main(String args[]){ new TwoThread(); } } 程序運行結(jié)果如下: 正在運行的線程: Thread[第一主線程,5,main 創(chuàng)建第二線程 第一線程休眠 第二線程的休眠時間:0 第二線程的休眠時間:1 第二線程的休眠時間:2 第一線程退出 第二線程的休眠時間:3 第二線程的休眠時間:4 第二線程退出 另外,虛機團上產(chǎn)品團購,超級便宜。

本文分享完畢,希望對大家有所幫助。

標(biāo)簽:

免責(zé)聲明:本文由用戶上傳,與本網(wǎng)站立場無關(guān)。財經(jīng)信息僅供讀者參考,并不構(gòu)成投資建議。投資者據(jù)此操作,風(fēng)險自擔(dān)。 如有侵權(quán)請聯(lián)系刪除!

最新文章