亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java 并發(fā)編程中如何創(chuàng)建線程

 更新時(shí)間:2021年03月05日 08:46:06   作者:布禾  
這篇文章主要介紹了Java 并發(fā)編程中如何創(chuàng)建線程,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下

簡(jiǎn)介

線程是基本的調(diào)度單位,它被包含在進(jìn)程之中,是進(jìn)程中的實(shí)際運(yùn)作單位,它本身是不會(huì)獨(dú)立存在。一個(gè)進(jìn)程至少有一個(gè)線程,進(jìn)程中的多個(gè)線程共享進(jìn)程的資源。

Java中創(chuàng)建線程的方式有多種如繼承Thread類、實(shí)現(xiàn)Runnable接口、實(shí)現(xiàn)Callable接口以及使用線程池的方式,線程池將在后面文章中單獨(dú)介紹,這里先介紹另外三種方式。

繼承Thread類

優(yōu)點(diǎn):在run方法里可以用this獲取到當(dāng)前線程。

缺點(diǎn):由于Java不支持多繼承,所以如果繼承了Thread類后就不能再繼承其他類。

public class MyThread extends Thread {
 /**
  * 線程要執(zhí)行的任務(wù)
  */
 @Override
 public void run() {
  System.out.println("do something...");
 }

 public static void main(String[] args) {	
	//創(chuàng)建線程
  MyThread myThread = new MyThread();
	//啟動(dòng)線程
  myThread.start();	
 }
}

實(shí)現(xiàn)Runnable接口

優(yōu)點(diǎn):實(shí)現(xiàn)Runnable接口后不影響繼承其他類,以及有利于多個(gè)線程資源共享。

缺點(diǎn):獲取當(dāng)前線程需要調(diào)用Thread.currentThread()。

public class MyThread implements Runnable {
  /**
  * 線程要執(zhí)行的任務(wù)
  */
 @Override
 public void run() {
  System.out.println("do something...");
 }

 public static void main(String[] args) {
	//創(chuàng)建兩個(gè)線程,并指定相同的任務(wù)
	Thread thread1 = new Thread(new MyThread());
  Thread thread2 = new Thread(new MyThread());
	//啟動(dòng)線程
  thread1.start();
  thread2.start();
 }
}

實(shí)現(xiàn)Callable接口

優(yōu)缺點(diǎn)類似于實(shí)現(xiàn)Runnable接口,但是實(shí)現(xiàn)Callable接口可以有返回值。

public class MyThread implements Callable<String> {
 /**
  * 線程要執(zhí)行的任務(wù),并且具有返回值
  */
 @Override
 public String call() throws Exception {
  System.out.println("do something...");
  Thread.sleep(3000);
  return "我是返回值";
 }

 public static void main(String[] args) throws ExecutionException, InterruptedException {
	//創(chuàng)建異步任務(wù)
  FutureTask<String> futureTask = new FutureTask(new MyThread());
	//啟動(dòng)線程
  new Thread(futureTask).start();
	//阻塞等待線程執(zhí)行完成并返回結(jié)果
  String result = futureTask.get();
  System.out.println(result);
 }
}

以上就是Java 并發(fā)編程中如何創(chuàng)建線程的詳細(xì)內(nèi)容,更多關(guān)于Java 創(chuàng)建線程的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • springboot使用Validator校驗(yàn)方式

    springboot使用Validator校驗(yàn)方式

    這篇文章主要介紹了springboot使用Validator校驗(yàn)方式,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • IDEA新建bootstrap.yml文件不顯示葉子圖標(biāo)的問(wèn)題

    IDEA新建bootstrap.yml文件不顯示葉子圖標(biāo)的問(wèn)題

    這篇文章主要介紹了IDEA新建bootstrap.yml文件不顯示葉子圖標(biāo)的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java Calendar類使用總結(jié)及使用實(shí)例

    Java Calendar類使用總結(jié)及使用實(shí)例

    這篇文章主要介紹了Java Calendar類使用總結(jié)及使用實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Java四種遍歷Map的方法

    Java四種遍歷Map的方法

    今天小編就為大家分享一篇關(guān)于Java四種遍歷Map的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • SpringBoot停止啟動(dòng)時(shí)測(cè)試檢查rabbitmq操作

    SpringBoot停止啟動(dòng)時(shí)測(cè)試檢查rabbitmq操作

    這篇文章主要介紹了SpringBoot停止啟動(dòng)時(shí)測(cè)試檢查rabbitmq操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java二分法查找_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java二分法查找_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了Java二分法查找的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Java中對(duì)象的序列化方式克隆詳解

    Java中對(duì)象的序列化方式克隆詳解

    在學(xué)習(xí)編程的過(guò)程中,我覺(jué)得不止要獲得課本的知識(shí),更多的是通過(guò)學(xué)習(xí)技術(shù)知識(shí)提高解決問(wèn)題的能力,這樣我們才能走在最前方。這篇文章主要給大家介紹了Java中對(duì)象的序列化方式克隆,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-01-01
  • 做java這么久了居然還不知道JSON的使用(一文帶你了解)

    做java這么久了居然還不知道JSON的使用(一文帶你了解)

    這篇文章主要介紹了做java這么久了居然還不知道JSON的使用(一文帶你了解),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Java8 實(shí)現(xiàn)stream將對(duì)象集合list中抽取屬性集合轉(zhuǎn)化為map或list

    Java8 實(shí)現(xiàn)stream將對(duì)象集合list中抽取屬性集合轉(zhuǎn)化為map或list

    這篇文章主要介紹了Java8 實(shí)現(xiàn)stream將對(duì)象集合list中抽取屬性集合轉(zhuǎn)化為map或list的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • Django之多對(duì)多查詢與操作方法詳解

    Django之多對(duì)多查詢與操作方法詳解

    這篇文章主要介紹了Django之多對(duì)多查詢與操作方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評(píng)論