免费可以看的无遮挡av无码|国产在线拍揄自揄视频网站|在线无码精品视频播放在|欧美亚洲国产成人精品,国产成人久久77777精品,亚洲欧美视频在线观看,色偷偷色噜噜狠狠网站久久

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 同步在java中的應(yīng)用、java異步的使用

同步在java中的應(yīng)用、java異步的使用

來源:千鋒教育
發(fā)布人:syq
時(shí)間: 2022-08-10 14:24:42 1660112682

  本教程操作環(huán)境:windows7系統(tǒng)、java10版,DELL G3電腦。

同步在java中的應(yīng)用

  同步在java中的應(yīng)用

  1.概念

  是一種典型的請(qǐng)求-響應(yīng)模型,當(dāng)請(qǐng)求調(diào)用一個(gè)函數(shù)或方法后,需等待其響應(yīng)返回,然后執(zhí)行后續(xù)代碼。同步的特征便是「有序」,當(dāng)各個(gè)過程都執(zhí)行完畢,最后返回結(jié)果。

3.1

  2.同步原理

  當(dāng)有多個(gè)線程要同時(shí)訪問一個(gè)變量或?qū)ο髸r(shí),如果這些線程中既有讀又有寫操作時(shí),就會(huì)導(dǎo)致變量值或?qū)ο蟮臓顟B(tài)出現(xiàn)混亂,從而導(dǎo)致程序異常。

  舉個(gè)例子,如果一個(gè)銀行賬戶同時(shí)被兩個(gè)線程操作,一個(gè)取100塊,一個(gè)存錢100塊。假設(shè)賬戶原本有0塊,如果取錢線程和存錢線程同時(shí)發(fā)生,會(huì)出現(xiàn)什么結(jié)果呢?取錢不成功,賬戶余額是100。取錢成功了,賬戶余額是0,那到底是哪個(gè)呢?很難說清楚。因此多線程同步就是要解決這個(gè)問題。

  3.實(shí)例

  synchronized關(guān)鍵字

  使用synchronized關(guān)鍵字我們可以實(shí)現(xiàn)同步代碼塊

3.2

  java異步的使用

  1.概念

  異步編程是只發(fā)送了調(diào)用的指令,調(diào)用者無需等待被調(diào)用的方法執(zhí)行完畢,而是繼續(xù)執(zhí)行下面的流程。在一個(gè)多處理器或多核的環(huán)境中,異步調(diào)用是真正的并行執(zhí)行。

6

 

  2.應(yīng)用場(chǎng)景

  (1)充分利用計(jì)算機(jī)CPU資源,不讓主程序阻塞在某個(gè)長(zhǎng)時(shí)間運(yùn)行的任務(wù)上,從而優(yōu)化主程序的執(zhí)行時(shí)間;

  (2)異步編程 + NIO。NIO 技術(shù)本身現(xiàn)在已經(jīng)很成熟了,異步編程技術(shù)將 NIO 落地到系統(tǒng),尤其是業(yè)務(wù)快速迭代的前臺(tái)、中臺(tái)系統(tǒng)中。

  3.實(shí)例

  可以創(chuàng)建一個(gè)新線程來異步執(zhí)行任何操作。隨著Java 8 中l(wèi)ambda表達(dá)式的發(fā)布,它變得更干凈,更易讀。

  創(chuàng)建一個(gè)新的線程來計(jì)算和打印數(shù)字的階乘:

4.2

  以上就是在java中關(guān)于同步、異步的使用,在多個(gè)程序需要運(yùn)行處理的時(shí)候,就可以選擇異步的方法去處理,對(duì)應(yīng)的同步也會(huì)為大家?guī)硪恍┲v解,可以關(guān)注和留意。更多關(guān)于“Java培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗(yàn),課程大綱更科學(xué)更專業(yè),有針對(duì)零基礎(chǔ)的就業(yè)班,有針對(duì)想提升技術(shù)的好程序員班,高品質(zhì)課程助力你實(shí)現(xiàn)java程序員夢(mèng)想。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
Go為什么不支持三元運(yùn)算符?

Go為什么不支持三元運(yùn)算符Go語言是一種以簡(jiǎn)潔和有效性為目標(biāo)的編程語言,因此在設(shè)計(jì)過程中,Go的設(shè)計(jì)者刻意排除了一些他們認(rèn)為可能導(dǎo)致復(fù)雜性或...詳情>>

2023-10-14 12:12:36
IT通常說的平臺(tái)是什么意思?

在信息技術(shù)(IT)領(lǐng)域,”平臺(tái)”這個(gè)詞有著廣泛的含義,它常常指代支持軟件應(yīng)用開發(fā)和運(yùn)行的基礎(chǔ)框架和環(huán)境。以下是對(duì)”平臺(tái)”這個(gè)概念的更深入...詳情>>

2023-10-14 11:55:36
什么是PowerPivot?

什么是PowerPivotPowerPivot,全稱”PowerPivot for Excel”,是Microsoft提供的一種數(shù)據(jù)分析工具,可以作為Excel的插件使用。通過PowerPivot,...詳情>>

2023-10-14 11:25:48
機(jī)器學(xué)習(xí)“判定模型”和“生成模型”有什么區(qū)別?

一、定義方式不同判定模型(Discriminative Model)是通過學(xué)習(xí)條件概率分布P(Y|X)來對(duì)給定輸入X進(jìn)行決策或預(yù)測(cè)輸出Y的模型。判定模型關(guān)注的是輸...詳情>>

2023-10-14 11:23:19
為什么SQLite用C編寫?

為什么SQLite用C編寫SQLite是一款輕量級(jí)的數(shù)據(jù)庫(kù),其設(shè)計(jì)目標(biāo)是內(nèi)存占用小,速度快,操作簡(jiǎn)單。為了實(shí)現(xiàn)這些目標(biāo),SQLite選擇了C語言進(jìn)行編寫,...詳情>>

2023-10-14 11:06:30
快速通道