Java多線程技術,多線程常見的7種方法

Java多線程技術,多線程常見的7種方法

長沙中公優(yōu)就業(yè)      2022-04-03 22:21:01     6

Java多線程技術,多線程常見的7種方法,Java允許多線程并發(fā)控制,當多個線程同時操作一個可共享的資源變量時(如數據的增刪改查),將會導致數據不準確,相互之間產生沖突

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細介紹

Java允許多線程并發(fā)控制,當多個線程同時操作一個可共享的資源變量時(如數據的增刪改查),將會導致數據不準確,相互之間產生沖突,因此加入同步鎖以避免在該線程沒有完成操作之前,被其他線程的調用,從而保證了該變量的唯一性和準確性。下面和小編一起來看看多線程常見的7種方法吧!

1,繼承Thread

主要掌握:線程的初始化,啟動,中斷的正確處理方式(interrupted)

public?class?Demo1?{public?static?void?main(String[]?args)?{MyThread?thread?=?new?MyThread();thread.start();}}class?MyThread?extends?Thread{@Overridepublic?void?run()?{System.out.println(Thread.currentThread().getName()+":running...");}}

2,實現Runnable

源碼解析,為什么會調用Runnable的run方法

public?class?Demo2?{public?static?void?main(String[]?args)?{MyRunnable?task?=?new?MyRunnable();new?Thread(task).start();}}class?MyRunnable?implements?Runnable{@Overridepublic?void?run()?{System.out.println(Thread.currentThread().getName()+":running");}}

3,匿名內部類的方式(線程只創(chuàng)建一次的情況)

有兩種方式

public?class?Demo3?{public?static?void?main(String[]?args)?{new?Thread(){public?void?run()?{System.out.println("通過匿名內部類的方式來創(chuàng)建線程");};}.start();new?Thread(new?Runnable()?{@Overridepublic?void?run()?{System.out.println("通過實現一個匿名的Runnable子類來實現");}}).start();}}

4,帶返回值的線程,實現Callable接口

實現call方法

FutureTask對任務進行封裝

5,使用定時器的方式

Timer,TimerTask,執(zhí)行定時任務

6,使用線程池的方式

通過Executors創(chuàng)建不同的線程池進行任務執(zhí)行

7,Lambda表達式(函數式編程)JDK1.8提供的新特

lambda表達式代碼簡潔,實現方便,對并發(fā)支持好,性能高

我們通過打印一個集合的數據來觀察運行結果,發(fā)現出來的順序是不一致的,說明是多線程方式

以上就是長沙中公優(yōu)就業(yè)java培訓機構的小編針對“Java多線程技術,多線程常見的7種方法”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。

培訓啦提醒您:交易時請核實對方資質,對于過大宣傳或承諾需謹慎!任何要求預付定金、匯款等方式均存在風險,謹防上當。