最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java之線程編程的4種方法實現(xiàn)案例講解

 更新時間:2021年08月02日 08:58:18   作者:一只可愛的小狐貍  
這篇文章主要介紹了Java之線程編程的4種方法實現(xiàn)案例講解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下

1、繼承Thread

public class T4 {
	public static void main(String[] args) {
		System.out.println(Thread.currentThread());
		Thread t1 = new A1();
		t1.start();
	}
}
class A1 extends Thread{
	@Override
	public void run() {
		for(int i=0;i<10;i++) {
			System.out.println("Thread:"+Thread.currentThread().getName());
		}
	}
}

2、實現(xiàn)Runnable接口

public class T3 {
	public static void main(String[] args) {
		System.out.println("Thread:"+Thread.currentThread().getName());
		Thread t1 = new Thread(new A2());
		t1.start();
	}

}
class A2 implements Runnable{
	@Override
	public void run() {
		int res =0;
		for(int i=0;i<10;i++) {
			res+=i;
		System.out.println("Thread:"+Thread.currentThread().getName());
		}
	}
}

3、使用Callable和Future接口創(chuàng)建線程

import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask;

public class T2 {
	public static void main(String[] args) throws Exception {
		System.out.println("Test3:" + Thread.currentThread().getName());
		Callable c = new A4();
		FutureTask ft = new FutureTask(c);
		Thread t1 = new Thread(ft);
		t1.start();
		Object res = ft.get();
		System.out.println("結果:" + res);
	}
}
class A4 implements Callable {
	@Override
	public Object call() throws Exception {
		int res = 0;
		for (int i = 0; i < 10; i++) {
			res += i;
			System.out.println("Thread:" + Thread.currentThread().getName());
		}
		return res;
	}
}

4、使用線程池創(chuàng)建線程

享元模式
享元模式Flyweight Pattern主要用于減少創(chuàng)建對象的數(shù)量,以減少內(nèi)存占用和提高性能。這種類型的設計模式屬于 結構型模式,它提供了減少對象數(shù)量從而改善應用所需的對象結構的方式
優(yōu)點:大大減少對象的創(chuàng)建,降低系統(tǒng)內(nèi)存的使用,以提高程序的執(zhí)行效率。
缺點:提高了系統(tǒng)的復雜度,需要分離出外部狀態(tài)和內(nèi)部狀態(tài),而且外部狀態(tài)具有固有化的性質(zhì),不應該隨著內(nèi)部 狀態(tài)的變化而變化,否則會造成系統(tǒng)的混亂。

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

public class T1 {
	public static void main(String[] args) throws Exception {
		Future[] arr = new Future[5];
		ExecutorService es = Executors.newFixedThreadPool(3);
		for (int i = 0; i < 5; i++) {
			arr[i] = es.submit(new A4());
		}
		for (Future f : arr) {
			Object res = f.get();
			System.out.println("結果為:" + res);
		}
		es.shutdown();
	}
}

class A4 implements Callable {
	@Override
	public Object call() throws Exception {
		int res = 0;
		for (int i = 0; i < 10; i++) {
			res += i;
			System.out.println("Thread" + Thread.currentThread().getName());
		}
		return res;
	}
}

到此這篇關于Java之線程編程的4種方法實現(xiàn)案例講解的文章就介紹到這了,更多相關Java之線程編程的4種方法實現(xiàn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MybatisPlus修改時空字段無法修改的解決方案

    MybatisPlus修改時空字段無法修改的解決方案

    這篇文章主要介紹了MybatisPlus修改時空字段無法修改的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 一文了解Spring中攔截器的原理與使用

    一文了解Spring中攔截器的原理與使用

    在web開發(fā)中,攔截器是經(jīng)常用到的功能。它可以幫我們預先設置數(shù)據(jù)以及統(tǒng)計方法的執(zhí)行效率等等。今天就來詳細的談一下spring中的攔截器,需要的可以參考一下
    2022-06-06
  • java面試題解LeetCode27二叉樹的鏡像實例

    java面試題解LeetCode27二叉樹的鏡像實例

    這篇文章主要為大家介紹了java面試題解LeetCode27二叉樹的鏡像實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • SpringBoot如何在線程中獲取@Service Bean類

    SpringBoot如何在線程中獲取@Service Bean類

    這篇文章主要介紹了SpringBoot如何在線程中獲取@Service Bean類,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • JDBC以反射機制加載類注冊驅(qū)動連接MySQL

    JDBC以反射機制加載類注冊驅(qū)動連接MySQL

    這篇文章介紹了JDBC以反射機制加載類注冊驅(qū)動連接MySQL的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01
  • Java基礎之容器Vector詳解

    Java基礎之容器Vector詳解

    這篇文章主要介紹了Java基礎之容器Vector詳解,文中有非常詳細的代碼示例,對正在學習java的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-04-04
  • Java解析微信獲取手機號信息的示例步驟

    Java解析微信獲取手機號信息的示例步驟

    在微信中,用戶手機號的獲取通常是通過微信小程序的getPhoneNumber接口來實現(xiàn)的,下面通過一個基于Java的示例,展示了如何接收并解密從微信小程序傳遞過來的加密手機號信息,感興趣的朋友一起看看吧
    2024-06-06
  • Spring Boot整合Mybatis Plus和Swagger2的教程詳解

    Spring Boot整合Mybatis Plus和Swagger2的教程詳解

    這篇文章主要介紹了Spring Boot整合Mybatis Plus和Swagger2的教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Java語言之LinkedList和鏈表的實現(xiàn)方法

    Java語言之LinkedList和鏈表的實現(xiàn)方法

    LinkedList是由傳統(tǒng)的鏈表數(shù)據(jù)結構演變而來的,鏈表是一種基本的數(shù)據(jù)結構,它可以動態(tài)地增加或刪除元素,下面這篇文章主要給大家介紹了關于Java語言之LinkedList和鏈表的實現(xiàn)方法,需要的朋友可以參考下
    2023-05-05
  • springboot之security?FilterSecurityInterceptor的使用要點記錄

    springboot之security?FilterSecurityInterceptor的使用要點記錄

    這篇文章主要介紹了springboot之security?FilterSecurityInterceptor的使用要點記錄,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評論

顺义区| 中山市| 曲阳县| 莱阳市| 绥阳县| 营山县| 赤水市| 郸城县| 开化县| 桐乡市| 怀安县| 德阳市| 弥渡县| 南宁市| 洞头县| 永昌县| 安阳县| 定州市| 德阳市| 长春市| 万盛区| 闵行区| 搜索| 双峰县| 松溪县| 靖边县| 灌云县| 奇台县| 永修县| 旅游| 内黄县| 辛集市| 泰宁县| 察哈| 绍兴市| 光山县| 晋宁县| 山东| 阿拉善右旗| 曲沃县| 云南省|