摘要:實現(xiàn)多線程的兩種方的開發(fā)包中,已經(jīng)自帶了對多線程的支持,我們可以通過這個很方便的進(jìn)行多線程的編程。實現(xiàn)多線程的方式有兩種,一種是繼承類,另外一種是實現(xiàn)接口,接下來開始介紹這這兩種多線程的實現(xiàn)方式。
繼承
Java并發(fā)很大程度上應(yīng)用了繼承.
關(guān)鍵字:extends
public class A{ public void abc(){ System.out.println("Hello"); } } public class B extends A{ @Override public void abc(){ System.out.println("World"); } }Java的線程
獲得當(dāng)前線程的名稱
Thread.currentThread().getName()
public class Main{ public static void main(String[] args){ System.out.println(Thread.currentThread().getName()); } }
main
執(zhí)行結(jié)果是main,意思是一個叫做main的線程在執(zhí)行方法main(),我們把main線程叫做主線程。
一個進(jìn)程在運(yùn)行的時候至少會有一個線程在執(zhí)行,此時這個線程就是由JVM創(chuàng)建的。java 實現(xiàn)多線程的兩種方
JDK的開發(fā)包中,已經(jīng)自帶了對多線程的支持,我們可以通過這個很方便的進(jìn)行多線程的編程。實現(xiàn)多線程的方式有兩種,一種是繼承Thread類,另外一種是實現(xiàn)Runnable接口,接下來開始介紹這這兩種多線程的實現(xiàn)方式。1. 繼承Thread類
package com.king; public class One extends Thread { //繼承了Thread方法后重寫其中的run方法 public void run(){ super.run(); System.out.println(" one Thread");; } }
package com.king; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(Thread.currentThread().getName()); One one=new One(); //必須調(diào)用start方法才開始了多線程。 one.start(); System.out.println(one.getName()); } }
結(jié)果
main Thread-0 one Thread2.實現(xiàn)Runnable接口
public class Main implements Runnable
Runnable接口中只有一個方法,就是run,所以我們直接實現(xiàn)就好,運(yùn)行如下:
public class Main { public static void main(String[] args){ Thread thread=new Thread(new TheThread()); thread.start(); } } class TheThread implements Runnable{ public void run() { System.out.println("hello"); } }
另外一種方式實現(xiàn)Runnable接口:
public class Main { public static void main(String[] args){ Thread thread=new Thread(new Runnable() { public void run() { System.out.println("hello"); } }); thread.start(); } }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/71033.html
摘要:線程的可能實現(xiàn)方式基本上主流的操作系統(tǒng)都支持線程,也提供了線程的實現(xiàn)。使用用戶線程和內(nèi)核線程混合實現(xiàn)在這種混合實現(xiàn)下,既存在用戶線程,也存在內(nèi)核線程。 進(jìn)程與線程 在傳統(tǒng)的操作系統(tǒng)中,最核心的概念是進(jìn)程,進(jìn)程是對正在運(yùn)行的程序的一個抽象。進(jìn)程的存在讓并行成為了可能,在一個操作系統(tǒng)中,允許運(yùn)行著多個進(jìn)程,這些進(jìn)程看起來是同時在運(yùn)行的。如果我們的計算機(jī)同時運(yùn)行著 web 瀏覽器、電子郵件客...
摘要:大多數(shù)待遇豐厚的開發(fā)職位都要求開發(fā)者精通多線程技術(shù)并且有豐富的程序開發(fā)調(diào)試優(yōu)化經(jīng)驗,所以線程相關(guān)的問題在面試中經(jīng)常會被提到。掌握了這些技巧,你就可以輕松應(yīng)對多線程和并發(fā)面試了。進(jìn)入等待通行準(zhǔn)許時,所提供的對象。 最近看到網(wǎng)上流傳著,各種面試經(jīng)驗及面試題,往往都是一大堆技術(shù)題目貼上去,而沒有答案。 不管你是新程序員還是老手,你一定在面試中遇到過有關(guān)線程的問題。Java語言一個重要的特點(diǎn)就...
摘要:并發(fā)編程實戰(zhàn)水平很高,然而并不是本好書。一是多線程的控制,二是并發(fā)同步的管理。最后,使用和來關(guān)閉線程池,停止其中的線程。當(dāng)線程調(diào)用或等阻塞時,對這個線程調(diào)用會使線程醒來,并受到,且線程的中斷標(biāo)記被設(shè)置。 《Java并發(fā)編程實戰(zhàn)》水平很高,然而并不是本好書。組織混亂、長篇大論、難以消化,中文翻譯也較死板。這里是一篇批評此書的帖子,很是貼切。俗話說:看到有這么多人罵你,我就放心了。 然而知...
摘要:例子如下可以用如下方式創(chuàng)建并運(yùn)行上述子類一旦線程啟動后方法就會立即返回,而不會等待到方法執(zhí)行完畢才返回。但是,事實上方法并非是由剛創(chuàng)建的新線程所執(zhí)行的,而是被創(chuàng)建新線程的當(dāng)前線程所執(zhí)行了。這是因為線程是并行執(zhí)行而非順序的。 showImg(http://segmentfault.com/img/bVbN5u); Java線程類也是一個object類,它的實例都繼承自java.lang...
閱讀 2721·2023-04-26 02:02
閱讀 2588·2023-04-25 20:38
閱讀 4124·2021-09-26 09:47
閱讀 3109·2021-09-10 10:50
閱讀 3774·2021-09-07 09:58
閱讀 3336·2019-08-30 15:54
閱讀 2703·2019-08-30 15:54
閱讀 1924·2019-08-29 17:03