中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

東莞 包裝制品 東莞網(wǎng)站建設(shè)產(chǎn)品市場(chǎng)推廣方案范文

東莞 包裝制品 東莞網(wǎng)站建設(shè),產(chǎn)品市場(chǎng)推廣方案范文,html5網(wǎng)站動(dòng)效怎么做,網(wǎng)站的流程圖目錄面試題一:并行和并發(fā)有什么區(qū)別?面試題二:線程和進(jìn)程的區(qū)別?追問(wèn):守護(hù)線程是什么?面試題三:創(chuàng)建線程的幾種方式?1. 繼承 Thread 類創(chuàng)建線程,重寫 run() 方法2. 實(shí)現(xiàn) …

目錄

  • 面試題一:并行和并發(fā)有什么區(qū)別?
  • 面試題二:線程和進(jìn)程的區(qū)別?
    • 追問(wèn):守護(hù)線程是什么?
  • 面試題三:創(chuàng)建線程的幾種方式?
      • 1. 繼承 Thread 類創(chuàng)建線程,重寫 run() 方法
      • 2. 實(shí)現(xiàn) Runnable 接口創(chuàng)建線程,實(shí)現(xiàn) run() 方法
    • 追問(wèn):Runnable 和 Callable 有什么區(qū)別?
      • 補(bǔ)充:FutureTask

面試題一:并行和并發(fā)有什么區(qū)別?

  1. 并行是指兩個(gè)或者多個(gè)事件在同?時(shí)刻發(fā)?;而并發(fā)是指兩個(gè)或多個(gè)事件在同?時(shí)間間隔發(fā)?;
  2. 并行是在不同實(shí)體上的多個(gè)事件,并發(fā)是在同?實(shí)體上的多個(gè)事件;
  3. 在?臺(tái)處理器上“同時(shí)”處理多個(gè)任務(wù),在多臺(tái)處理器上同時(shí)處理多個(gè)任務(wù)。如 Hadoop 分布式集群。所以并發(fā)編程的目標(biāo)是充分的利?處理器的每?個(gè)核,以達(dá)到最?的處理性能。

面試題二:線程和進(jìn)程的區(qū)別?

進(jìn)程:是程序運(yùn)行和資源分配的基本單位,?個(gè)程序至少有?個(gè)進(jìn)程,?個(gè)進(jìn)程至少有?個(gè)線程。進(jìn)程在執(zhí)行過(guò)程中擁有獨(dú)立的內(nèi)存單元,而多個(gè)線程共享內(nèi)存資源,減少切換次數(shù),從而效率更?。

  • 舉個(gè)例子,當(dāng)我們雙擊桌面的圖標(biāo)時(shí),系統(tǒng)會(huì)將對(duì)應(yīng)的程序加載進(jìn)內(nèi)存,程序?qū)?huì)占用一部分內(nèi)存用以執(zhí)行操作。進(jìn)入到內(nèi)存的程序即為進(jìn)程(一個(gè)應(yīng)用程序可以同時(shí)運(yùn)行多個(gè)進(jìn)程)。當(dāng)使用任務(wù)管理器關(guān)閉程序時(shí)(比如LOL),系統(tǒng)又會(huì)將程序從內(nèi)存中清除,此時(shí)進(jìn)程結(jié)束。如圖:一個(gè) LOL 進(jìn)程。
    -在這里插入圖片描述

線程:是進(jìn)程的?個(gè)實(shí)體,是 cpu 調(diào)度和分派的基本單位,是比程序更小的能獨(dú)立運(yùn)行的基本單位。同?進(jìn)程中的多個(gè)線程之間可以并發(fā)執(zhí)行。

需要注意的是,Java 本身并不能創(chuàng)造線程,因?yàn)榫€程其實(shí)是操作系統(tǒng)的一種資源,它由操作系統(tǒng)管理。我們一般說(shuō)“Java 支持多線程”,指的就是 Java 可以調(diào)用系統(tǒng)資源創(chuàng)建多線程。
在這里插入圖片描述

追問(wèn):守護(hù)線程是什么?

用戶線程:我們平常創(chuàng)建的普通線程。
守護(hù)線程(即 Daemon thread),是個(gè)服務(wù)線程,用來(lái)服務(wù)于用戶線程,準(zhǔn)確地來(lái)說(shuō)就是服務(wù)其他的線程。 在JVM中,所有非守護(hù)線程都執(zhí)行完畢后,無(wú)論有沒(méi)有守護(hù)線程,虛擬機(jī)都會(huì)自動(dòng)退出。

守護(hù)線程怎么使用:使用很簡(jiǎn)單,只是在調(diào)用start()方法前,調(diào)用 setDaemon(true) 把該線程標(biāo)記為守護(hù)線程。

  • 如何檢查一個(gè)線程是守護(hù)線程還是用戶線程:使用isDaemon()方法。
  • Java垃圾回收線程就是一個(gè)典型的守護(hù)線程,因?yàn)槲覀兊睦厥帐且粋€(gè)一直需要運(yùn)行的機(jī)制,但是當(dāng)沒(méi)有用戶線程的時(shí)候,也就不需要垃圾回收線程了,守護(hù)線程剛好滿足這樣的需求。

面試題三:創(chuàng)建線程的幾種方式?

1. 繼承 Thread 類創(chuàng)建線程,重寫 run() 方法

public class ThreadDemo1 extends Thread {public static void main(String[] args) {// ThreadDemo 繼承了Thread類,并重寫run()ThreadDemo t = new ThreadDemo();// 開(kāi)啟線程:t線程得到CPU執(zhí)行權(quán)后會(huì)執(zhí)行run()中的代碼t.start();}@Overridepublic void run() {System.out.println("Thread is running");}
}

2. 實(shí)現(xiàn) Runnable 接口創(chuàng)建線程,實(shí)現(xiàn) run() 方法

public class ThreadDemo2 implements Runnable{public static void main(String[] args) {// ThreadDemo2實(shí)現(xiàn)Runnable接口,并實(shí)現(xiàn)run()ThreadDemo2 target = new ThreadDemo2();// 調(diào)用Thread構(gòu)造方法,傳入TreadDemo2的實(shí)例對(duì)象,創(chuàng)建線程對(duì)象Thread t = new Thread(target);// 開(kāi)啟線程:t線程得到CPU執(zhí)行權(quán)后會(huì)執(zhí)行run()中的代碼t.start();}public void run() {System.out.println("Thread is running");}
}
  1. 通過(guò) Callable 和 Future 創(chuàng)建線程;
  2. 通過(guò) 線程池 創(chuàng)建線程。

追問(wèn):Runnable 和 Callable 有什么區(qū)別?

  1. Runnable 接口中的 run() 方法的返回值是 void,它做的事情只是純粹地去執(zhí)行 run() 方法中的代碼而已; run方法不可以拋出異常。
  2. Callable 接口中的 call() 方法是有返回值的,是?個(gè)泛型,和 Future、FutureTask 配合可以用來(lái)獲取異步執(zhí)行的結(jié)果。call方法可以拋出異常。

補(bǔ)充:FutureTask

未來(lái)的任務(wù),用它就干一件事,異步調(diào)用 main 方法就像一個(gè)冰糖葫蘆,一個(gè)個(gè)方法由 main 串起來(lái)。
但解決不了一個(gè)問(wèn)題:正常調(diào)用掛起堵塞問(wèn)題。
例子:

  1. 老師上著課,口渴了,去買水不合適,講課線程繼續(xù),我可以單起個(gè)線程找班長(zhǎng)幫忙買水,水買回來(lái)了放桌上,我需要的時(shí)候再去get。
  2. 4個(gè)同學(xué),A 算1+到20,B 算21+到30,C 算31*到40,D算41+到50,是不是 C 的計(jì)算量有點(diǎn)大啊,FutureTask 單起個(gè)線程給 C 計(jì)算,我先匯總 ABD,最后等 C 計(jì)算完了再匯總 C,拿到最終結(jié)果。
  3. 高考:會(huì)做的先做,不會(huì)的放在后面做 。

原理:在主線程中需要執(zhí)行比較耗時(shí)的操作時(shí),但又不想阻塞主線程時(shí),可以把這些作業(yè)交給 Future 對(duì)象在后臺(tái)完成,當(dāng)主線程將來(lái)需要時(shí),就可以通過(guò) Future 對(duì)象獲得后臺(tái)作業(yè)的計(jì)算結(jié)果或者執(zhí)行狀態(tài)。 一般 FutureTask 多用于耗時(shí)的計(jì)算,主線程可以在完成自己的任務(wù)后,再去獲取結(jié)果。 僅在計(jì)算完成時(shí)才能檢索結(jié)果;如果計(jì)算尚未完成,則阻塞 get 方法。一旦計(jì)算完成,就不能再重新開(kāi)始或取消計(jì)算。get方法而獲取結(jié)果只有在計(jì)算完成時(shí)獲取,否則會(huì)一直阻塞直到任務(wù)轉(zhuǎn)入完成狀態(tài),然后會(huì)返回結(jié)果或者拋出異常。 只計(jì)算一次 get 方法放到最后。

public class CallableDemo {public static void main(String[] args) {FutureTask<Integer> futureTask = new FutureTask<Integer>(() -> {System.out.println(Thread.currentThread().getName() + "  come");return 1024;});new Thread(futureTask,"AAA").start();try {System.out.println(futureTask.get());} catch (InterruptedException e) {e.printStackTrace();} catch (ExecutionException e) {e.printStackTrace();}}
}運(yùn)行結(jié)果:
AAA  come
1024
http://m.risenshineclean.com/news/48374.html

相關(guān)文章:

  • 長(zhǎng)春疫情最新消息今天新增病例軌跡千度seo
  • 十大購(gòu)物網(wǎng)站排名全自動(dòng)引流推廣軟件
  • 做地方特產(chǎn)的網(wǎng)站最火的網(wǎng)絡(luò)銷售平臺(tái)
  • asp網(wǎng)站漏洞修復(fù)插件南京網(wǎng)站制作公司
  • 織夢(mèng)網(wǎng)站管理系統(tǒng)廊坊seo管理
  • 昌吉網(wǎng)站建設(shè)電話百度關(guān)鍵詞網(wǎng)站排名優(yōu)化軟件
  • 天津企業(yè)網(wǎng)站建設(shè)一條龍網(wǎng)推資源渠道
  • 廣州做網(wǎng)站設(shè)計(jì)百度seo推廣軟件
  • web網(wǎng)站如何做負(fù)載均衡谷歌搜索引擎google
  • 網(wǎng)站做微信公眾號(hào)輿情網(wǎng)站入口
  • 義烏外貿(mào)公司聯(lián)系方式南寧seo排名首頁(yè)
  • 網(wǎng)站備案真實(shí)性核驗(yàn)網(wǎng)站seo方案策劃書
  • 沒(méi)有做老千的斗牛網(wǎng)站6網(wǎng)絡(luò)營(yíng)銷專業(yè)課程
  • 四平網(wǎng)站建設(shè)404頁(yè)面對(duì)網(wǎng)站的好處及設(shè)置方法百度一下馬上知道
  • 網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)師證書圖片seo引擎優(yōu)化公司
  • 做設(shè)計(jì)的搜素材上什么網(wǎng)站廣州優(yōu)化營(yíng)商環(huán)境條例
  • 哈爾濱網(wǎng)站建設(shè)教程seo站長(zhǎng)助手
  • 石臺(tái)做網(wǎng)站新的營(yíng)銷模式有哪些
  • wordpress網(wǎng)址轉(zhuǎn)跳插件seo是什么專業(yè)的課程
  • ps做網(wǎng)站頁(yè)面設(shè)置為多大seo推廣優(yōu)化工具
  • 標(biāo)題優(yōu)化方法百度網(wǎng)站免費(fèi)優(yōu)化軟件下載
  • php企業(yè)網(wǎng)站源代碼網(wǎng)站優(yōu)化方式有哪些
  • 網(wǎng)站開(kāi)發(fā)論文題目seo排名系統(tǒng)源碼
  • 網(wǎng)站的ci設(shè)計(jì)怎么做優(yōu)化網(wǎng)站打開(kāi)速度
  • 網(wǎng)站開(kāi)發(fā) 外包空心cba最新排名
  • javaweb一個(gè)旅游網(wǎng)站怎么做無(wú)憂軟文網(wǎng)
  • 新聞網(wǎng)站個(gè)人可以做嗎軟文寫作范例大全
  • wordpress插件分享顯示官網(wǎng)seo關(guān)鍵詞排名系統(tǒng)
  • 南平網(wǎng)站建設(shè)公司超能搜索引擎系統(tǒng)網(wǎng)站
  • 網(wǎng)站建設(shè)教學(xué)廊坊電商網(wǎng)站入口