Java高級學習-線程池和Lambda表達式

      網友投稿 692 2022-05-30

      線程池

      線程通信,避免多線程對同一共享變量的爭奪。

      等待與喚醒機制,wait – notify

      wait-- notify 必須由同一個鎖對象調用

      wait-- notify 屬于Object類的方法

      wait-- notify 必須要在同步代碼塊或者同步函數中使用

      等待與喚醒機制

      線程復用,讓線程完成任務之后再繼續進行其他任務。

      線程池:容器—>集合(ArrayList,HashSet,LinkedList,HashMap)

      創建多個線程時,保存到一個集合中,使用線程時候,將線程沖集合中取出來。

      List集合:Thread t = list.remove(0) :返回的時被移除的元素(線程只能被一個任務使用)。

      LinkedList集合:Thread t = linked.removeFirst();

      使用完線程,將線程歸還 : list.add(t) linked(t)

      JDK1.5之后有內置線程,直接使用

      java.util.concurrent.Executors:線程工廠類,用來生成線程池

      Executors類中的方法:static ExecutorService newFixedThreadPool( int nThreads ):創建一個可重用的固定線程數的線程池。

      nThreads :線程數量

      返回值:ExecutorService接口,返回的是ExecutorService的實現類,可以使用ExecutorService接口接收(面向接口編程)

      java.util.concurrent.ExecutorService:線程池接口,繼承了Executor接口(注意區分Executor接口和Executors工廠類)

      從線程池獲取線程,調用start方法,執行線程任務。

      提交Runnable任務用于執行:submit( Runnable task )

      銷毀線程池:void shutdown( )

      步驟:

      newFixedThreadPool生成線程池

      Java高級學習-線程池和Lambda表達式

      ExecutorService es = Executors.newFixedThreadPool( 2 );

      創建一個Runnable的實現類,重寫run方法,設置線程任務

      使用submit方法,傳遞線程任務(實現類),開啟線程,執行run方法

      es.submit(new Runnable的實現類名); //匿名對象

      shutdown銷毀線程池,不建議執行

      Lambda表達式

      面向對象思想:做一件事情,找到一個解決這個事情的對象,調用對象的方法,完成事情。

      函數式編程思想:只關心結果,不關心過程

      匿名內部類:new Thread( new Runable( ) { @Override pubilc void run**( )** { XXX } } ).start( );

      Lambda表達式:new Thread( ( ) -> { XXX } ).start( );

      小括號就是run方法的參數(無);小箭頭代表將參數傳遞到后面的代碼;后面的輸出語句為業務邏輯代碼。

      簡化匿名內部類

      ( 參數列表 ) -> { 重寫方法的代碼 }

      ( ) :接口中抽象方法的參數列表,多個參數使用逗號分隔

      { } : 重寫接口中抽象方法的方法體

      Lambda表達式:可推導,可省略

      (參數列表):參數列表的數據類型,可以省略不寫

      (參數列表):參數列表的參數只有一個,類型和()都可以省略

      (一些代碼):如果{ } 中的代碼只有一行,無論是否有返回值,都可以省略 ( {},return,分號),要一起省略。

      使用Lambda表達式必須具有接口,且接口中只有一個抽象方法。例如:Runnable,Comparator

      Lambda表達式必須有上下文推斷。方法的參數或者局部變量類型必須為Lambda對應的接口類型,才能使用Lambda作為該接口實例

      Java 任務調度

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:華為云機器學習服務標準版:易用的云上機器學習平臺
      下一篇:榮獲認可!華為云GaussDB首批通過信通院可信云服務測評
      相關文章
      亚洲国产亚洲片在线观看播放| 亚洲男人天堂影院| 亚洲一久久久久久久久| 中文字幕亚洲精品| 婷婷精品国产亚洲AV麻豆不片| 国产亚洲精品精华液| 国内精品久久久久久久亚洲| 亚洲一级片免费看| 久久亚洲色一区二区三区| 中文字幕亚洲不卡在线亚瑟| 亚洲综合国产一区二区三区| 亚洲午夜未满十八勿入网站2| 久久久久亚洲AV无码专区桃色| 国产亚洲精品不卡在线| 国产日韩成人亚洲丁香婷婷| 国产亚洲情侣一区二区无码AV| 国外亚洲成AV人片在线观看| 亚洲午夜福利在线观看| 亚洲精品无码av人在线观看| 久久亚洲国产精品| 久久精品国产亚洲av高清漫画 | 亚洲av日韩av无码黑人| 亚洲AV成人片色在线观看高潮| 亚洲网址在线观看你懂的| 亚洲视频在线观看网址| 亚洲成a人片77777群色| 亚洲入口无毒网址你懂的| 亚洲欧洲无卡二区视頻| 最新亚洲人成网站在线观看 | 国产天堂亚洲国产碰碰| 亚洲精品线路一在线观看| 中文字幕精品亚洲无线码二区 | 亚洲精品成人无码中文毛片不卡| 久久精品国产亚洲网站| 婷婷亚洲综合五月天小说| 亚洲成aⅴ人片在线观| 久久夜色精品国产噜噜亚洲a| 亚洲国产成人手机在线观看 | 99亚洲精品高清一二区| 中文字幕 亚洲 有码 在线| 亚洲国产精品久久久久秋霞小|