欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java同步與異步的學習筆記整理

 更新時間:2020年02月18日 14:27:29   作者:青燈夜游  
在本篇文章里小編給大家整理了關于java同步與異步的學習筆記整理內(nèi)容,需要的朋友們參考下。

概念:

1、同步:所有的操作都做完,才返回給用戶。這樣用戶在線等待的時間太長,給用戶一種卡死了的感覺(就是系統(tǒng)遷移中,點擊了遷移,界面就不動了,但是程序還在執(zhí)行,卡死了的感覺)。這種情況下,用戶不能關閉界面,如果關閉了,即遷移程序就中斷了。

2、異步:將用戶請求放入消息隊列,并反饋給用戶,系統(tǒng)遷移程序已經(jīng)啟動,你可以關閉瀏覽器了。然后程序再慢慢地去寫入數(shù)據(jù)庫去。這就是異步。但是用戶沒有卡死的感覺,會告訴你,你的請求系統(tǒng)已經(jīng)響應了。你可以關閉界面了。

同步,是所有的操作都做完,才返回給用戶結果;即寫完數(shù)據(jù)庫之后,在相應用戶,用戶體驗不好。

異步,不用等所有操作等做完,就相應用戶請求;即先相應用戶請求,然后慢慢去寫數(shù)據(jù)庫,用戶體驗較好。

同步異步操作例子:

1、同步:

比如銀行的轉賬系統(tǒng),對數(shù)據(jù)庫的保存操作等等都是使用同步交互操作。

2、異步:

為了避免短時間大量的數(shù)據(jù)庫操作,就使用緩存機制,也就是消息隊列。先將數(shù)據(jù)放入消息隊列,然后再慢慢寫入數(shù)據(jù)庫。

引入消息隊列機制,雖然可以保證用戶請求的快速響應,但是并沒有使得我數(shù)據(jù)遷移的時間變短(即80萬條數(shù)據(jù)寫入mysql需要1個小時,用了redis之后,還是需要1個小時,只是保證用戶的請求的快速響應。用戶輸入完http url請求之后,就可以把瀏覽器關閉了,干別的去了。如果不用redis,瀏覽器不能關閉)。

知識點擴充:

進程同步及異步的概念

1.進程同步:

就是在發(fā)出一個功能調(diào)用時,在沒有得到結果之前,該調(diào)用就不返回。也就是必須一件一件事做,等前一件做完了才能做下一件事.就像早上起床后,先洗涮,然后才能吃飯,不能在洗涮沒有完成時,就開始吃飯.按照這個定義,其實絕大多數(shù)函數(shù)都是同步調(diào)用(例如sin,isdigit等)。但是一般而言,我們在說同步、異步的時候,特指那些需要其他部件協(xié)作或者需要一定時間完成的任務。最常見的例子就是

sendmessage。該函數(shù)發(fā)送一個消息給某個窗口,在對方處理完消息之前,這個函數(shù)不返回。當對方處理完畢以后,該函數(shù)才把消息處理函數(shù)所返回的lresult值返回給調(diào)用者。

2.異步

異步的概念和同步相對。當一個異步過程調(diào)用發(fā)出后,調(diào)用者不能立刻得到結果。實際處理這個調(diào)用的部件在完成后,通過狀態(tài)、通知和回調(diào)來通知調(diào)用者。

以casycsocket類為例(注意,csocket從casyncsocket派生,但是其功能已經(jīng)由異步轉化為同步),當一個客戶端通過調(diào)用connect函數(shù)發(fā)出一個連接請求后,調(diào)用者線程立刻可以朝下運行。當連接真正建立起來以后,socket底層會發(fā)送一個消息通知該對象。

以上就是java同步與異步的區(qū)別是什么的相關內(nèi)容,感謝大家的學習和對腳本之家的支持。

相關文章

  • Springboot項目因為kackson版本問題啟動報錯解決方案

    Springboot項目因為kackson版本問題啟動報錯解決方案

    這篇文章主要介紹了Springboot項目因為kackson版本問題啟動報錯解決方案,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 簡單講解Android開發(fā)中觸摸和點擊事件的相關編程方法

    簡單講解Android開發(fā)中觸摸和點擊事件的相關編程方法

    這篇文章主要介紹了Android開發(fā)中觸摸和點擊事件的相關編程方法,包括事件偵聽器等安卓開發(fā)中常用的接口的基本使用方法,需要的朋友可以參考下
    2015-12-12
  • Java實現(xiàn)五子棋網(wǎng)絡版

    Java實現(xiàn)五子棋網(wǎng)絡版

    這篇文章主要為大家詳細介紹了基于Java編寫的網(wǎng)絡五子棋,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • SpringBoot實現(xiàn)過濾器、攔截器與切片的實現(xiàn)和區(qū)別

    SpringBoot實現(xiàn)過濾器、攔截器與切片的實現(xiàn)和區(qū)別

    本文詳細介紹了使用過濾器、攔截器與切片實現(xiàn)每個請求耗時的統(tǒng)計,并比較三者的區(qū)別與聯(lián)系,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • Java數(shù)據(jù)結構之有向圖設計與實現(xiàn)詳解

    Java數(shù)據(jù)結構之有向圖設計與實現(xiàn)詳解

    有向圖是具有方向性的圖,由一組頂點和一組有方向的邊組成,每條方向的邊都連著一對有序的頂點。本文為大家介紹的是有向圖的設計與實現(xiàn),需要的可以參考一下
    2022-11-11
  • Struts2數(shù)據(jù)輸入驗證教程詳解

    Struts2數(shù)據(jù)輸入驗證教程詳解

    這篇文章主要介紹了Struts2數(shù)據(jù)輸入驗證教程詳解的相關資料,輸入數(shù)據(jù)驗證的方法有兩種,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2016-10-10
  • 關于RestTemplate的使用深度解析

    關于RestTemplate的使用深度解析

    這篇文章主要介紹了對RestTemplate的深度解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • java單例模式實現(xiàn)的方法

    java單例模式實現(xiàn)的方法

    這篇文章主要介紹了如何在JAVA中實現(xiàn)單例模式,文中代碼簡單易懂,供大家參考學習,感興趣的小伙伴可以了解下
    2020-06-06
  • Java抽象類和抽象方法定義與用法實例詳解

    Java抽象類和抽象方法定義與用法實例詳解

    這篇文章主要介紹了Java抽象類和抽象方法定義與用法,結合實例形式詳細分析了Java抽象類和抽象方法相關原理、定義、使用方法及操作注意事項,需要的朋友可以參考下
    2019-11-11
  • mybaits-plus?lambdaQuery()?和?lambdaUpdate()?常見的使用方法

    mybaits-plus?lambdaQuery()?和?lambdaUpdate()?常見的使用方法

    MyBatis-Plus是一個?MyBatis?(opens?new?window)的增強工具,在?MyBatis?的基礎上只做增強不做改變,為簡化開發(fā)、提高效率而生,這篇文章主要介紹了mybaits-plus?lambdaQuery()?和?lambdaUpdate()?比較常見的使用方法,需要的朋友可以參考下
    2023-01-01

最新評論