摘要:使用實(shí)現(xiàn)接口的方式實(shí)現(xiàn)多線程程序創(chuàng)建接口的實(shí)現(xiàn)類對(duì)象創(chuàng)建類對(duì)象構(gòu)造方法中傳遞接口的實(shí)現(xiàn)類調(diào)用方法開啟新線程執(zhí)行方法簡(jiǎn)化代碼使用匿名內(nèi)部類實(shí)現(xiàn)多線程程序新線程創(chuàng)建了簡(jiǎn)化代碼新線程創(chuàng)建了創(chuàng)建接口的實(shí)現(xiàn)類重寫方法設(shè)置線程任務(wù)新線程創(chuàng)建了表達(dá)式的標(biāo)
package com.itheima.demo03.Lambda;
/*
使用實(shí)現(xiàn)Runnable接口的方式實(shí)現(xiàn)多線程程序
*/
public class Demo01Runnable {
public static void main(String[] args) { //創(chuàng)建Runnable接口的實(shí)現(xiàn)類對(duì)象 RunnableImpl run = new RunnableImpl(); //創(chuàng)建Thread類對(duì)象,構(gòu)造方法中傳遞Runnable接口的實(shí)現(xiàn)類 Thread t = new Thread(run); //調(diào)用start方法開啟新線程,執(zhí)行run方法 t.start(); //簡(jiǎn)化代碼,使用匿名內(nèi)部類,實(shí)現(xiàn)多線程程序 Runnable r = new Runnable(){ @Override public void run() { System.out.println(Thread.currentThread().getName()+" 新線程創(chuàng)建了"); } }; new Thread(r).start(); //簡(jiǎn)化代碼 new Thread(new Runnable(){ @Override public void run() { System.out.println(Thread.currentThread().getName()+" 新線程創(chuàng)建了"); } }).start(); }
}
package com.itheima.demo03.Lambda;
/*
創(chuàng)建Runnable接口的實(shí)現(xiàn)類,重寫run方法,設(shè)置線程任務(wù)
*/
public class RunnableImpl implements Runnable{
@Override public void run() { System.out.println(Thread.currentThread().getName()+" 新線程創(chuàng)建了"); }
}
package com.itheima.demo03.Lambda;
/*
Lambda表達(dá)式的標(biāo)準(zhǔn)格式: 由三部分組成: a.一些參數(shù) b.一個(gè)箭頭 c.一段代碼 格式: (參數(shù)列表) -> {一些重寫方法的代碼}; 解釋說(shuō)明格式: ():接口中抽象方法的參數(shù)列表,沒有參數(shù),就空著;有參數(shù)就寫出參數(shù),多個(gè)參數(shù)使用逗號(hào)分隔 ->:傳遞的意思,把參數(shù)傳遞給方法體{} {}:重寫接口的抽象方法的方法體
*/
public class Demo02Lambda {
public static void main(String[] args) { //使用匿名內(nèi)部類的方式,實(shí)現(xiàn)多線程 new Thread(new Runnable(){ @Override public void run() { System.out.println(Thread.currentThread().getName()+" 新線程創(chuàng)建了"); } }).start(); //使用Lambda表達(dá)式,實(shí)現(xiàn)多線程 new Thread(()->{ System.out.println(Thread.currentThread().getName()+" 新線程創(chuàng)建了"); } ).start(); //優(yōu)化省略Lambda new Thread(()->System.out.println(Thread.currentThread().getName()+" 新線程創(chuàng)建了")).start(); }
}
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/75995.html
摘要:函數(shù)是一等公民。其實(shí)閉包本身也是函數(shù)式編程的一個(gè)應(yīng)用。劣勢(shì)不能算是嚴(yán)格意義上的函數(shù)式語(yǔ)言,很多函數(shù)式編程的特性并沒有。 隨著大前端時(shí)代的到來(lái),在產(chǎn)品開發(fā)過(guò)程中,前端所占業(yè)務(wù)比重越來(lái)越大、交互越來(lái)越重。傳統(tǒng)的老夫拿起JQuery就是一把梭應(yīng)付當(dāng)下重交互頁(yè)面已經(jīng)十分乏力。于是乎有了Angular,React,Vue這些現(xiàn)代框架。 但隨之而來(lái)的還有大量的新知識(shí)新名詞,如MVC,MVVM,F(xiàn)l...
摘要:函數(shù)是一等公民。其實(shí)閉包本身也是函數(shù)式編程的一個(gè)應(yīng)用。劣勢(shì)不能算是嚴(yán)格意義上的函數(shù)式語(yǔ)言,很多函數(shù)式編程的特性并沒有。 隨著大前端時(shí)代的到來(lái),在產(chǎn)品開發(fā)過(guò)程中,前端所占業(yè)務(wù)比重越來(lái)越大、交互越來(lái)越重。傳統(tǒng)的老夫拿起JQuery就是一把梭應(yīng)付當(dāng)下重交互頁(yè)面已經(jīng)十分乏力。于是乎有了Angular,React,Vue這些現(xiàn)代框架。 但隨之而來(lái)的還有大量的新知識(shí)新名詞,如MVC,MVVM,F(xiàn)l...
摘要:是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,在應(yīng)用方面,是最好的,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)用軟件。是一種關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)系數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。 本章主要是對(duì)MyBatis-Plus的初步介紹,包括一些背景知識(shí)、環(huán)境搭建、初步使用等知識(shí)和例子。對(duì)于背景知識(shí),主要包含對(duì)MyBatis-Plus的特性介紹、為什么使用MyB...
摘要:函數(shù)式編程概述如今主流的編程語(yǔ)言,函數(shù)式編程范式或多或少都融入其中成了標(biāo)配,或者說(shuō)主流語(yǔ)言都在進(jìn)行函數(shù)式方面的擴(kuò)充,這是一個(gè)大趨勢(shì)。 showImg(https://segmentfault.com/img/remote/1460000015089083); 函數(shù)式編程概述 如今主流的編程語(yǔ)言,函數(shù)式編程范式或多或少都融入其中成了標(biāo)配,或者說(shuō)主流語(yǔ)言都在進(jìn)行函數(shù)式方面的擴(kuò)充,這是一...
摘要:從使用到原理學(xué)習(xí)線程池關(guān)于線程池的使用,及原理分析分析角度新穎面向切面編程的基本用法基于注解的實(shí)現(xiàn)在軟件開發(fā)中,分散于應(yīng)用中多出的功能被稱為橫切關(guān)注點(diǎn)如事務(wù)安全緩存等。 Java 程序媛手把手教你設(shè)計(jì)模式中的撩妹神技 -- 上篇 遇一人白首,擇一城終老,是多么美好的人生境界,她和他歷經(jīng)風(fēng)雨慢慢變老,回首走過(guò)的點(diǎn)點(diǎn)滴滴,依然清楚的記得當(dāng)初愛情萌芽的模樣…… Java 進(jìn)階面試問(wèn)題列表 -...
閱讀 3160·2021-11-22 12:01
閱讀 3779·2021-08-30 09:46
閱讀 792·2019-08-30 13:48
閱讀 3223·2019-08-29 16:43
閱讀 1671·2019-08-29 16:33
閱讀 1859·2019-08-29 13:44
閱讀 1422·2019-08-26 13:45
閱讀 2239·2019-08-26 11:44