Java多线程的几种实现方法
生活随笔
收集整理的這篇文章主要介紹了
Java多线程的几种实现方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
事實上,當(dāng)傳入一個Runnable target參數(shù)給Thread后,Thread的run()方法就會調(diào)用target.run(),參考JDK源代碼:
public void run() { if (target != null) { target.run(); } }實現(xiàn)Runnable接口相對于擴展Thread類來說,具有很大的優(yōu)勢。這種方式不僅有利于程序的健壯性,使代碼能夠被多個線程共享,而且代碼和數(shù)據(jù)資源相對獨立,從而特別適合多個具有相同代碼的線程去處理同一資源的情況。
后面兩種情況不常用:
3. 實現(xiàn)Callable接口通過FutureTask包裝器來創(chuàng)建Thread線程。
實現(xiàn)Callable接口,新建當(dāng)前類對象,再新建FutureTask類對象時傳入當(dāng)前類對象,接著新建Thread類對象時傳入FutureTask類對象,最后運行Thread對象的start()方法新建當(dāng)前類對象。
4.使用ExecutorService、Callable、Future實現(xiàn)有返回結(jié)果的多線程。
轉(zhuǎn)載于:https://www.cnblogs.com/jiaorenzhan/p/10623950.html
總結(jié)
以上是生活随笔為你收集整理的Java多线程的几种实现方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql创建部分索引
- 下一篇: ACM模板——并查集