日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java高并发类_Java 高并发之魂

發布時間:2023/12/4 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java高并发类_Java 高并发之魂 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前置知識

了解Java基本語法

了解多線程基本知識

知識介紹

Synchronized簡介:作用、地位、不控制并發的后果

兩種用法:對象鎖和類鎖

多線程訪問同步方法的7種情況:是否是static、Synchronized方法等

Synchronized的性質:可重入、不可中斷

原理:加解鎖原理、可重入原理、可見性原理

Synchronized的缺陷:效率低、不夠靈活、無法預判是否成功獲取鎖

常見問題:

如何選擇Lock或Synchronized等

如何提高性能、JVM如何解決那個線程獲取鎖等

Synchronized簡介

作用

官方解釋

同步方法支持一種簡單的策略來防止線程干擾和內存一致性錯誤:如果一個對象對多個線程可見,則對該對象變量的所有讀取或寫入都是通過同步方法完成的。

通俗易懂的解釋

能夠保證在同一時刻最多只有一個線程執行該段代碼,以達到保證并發安全的效果。

地位

Synchronized是Java的關鍵字,被Java語言原生支持

代碼演示:不使用并發手段的后果演示

代碼實戰:兩個線程同時a++,最后結果會比預計的少

原因

count++,它看上去只是一個操作,實際上包含了三個動作:

讀取count

將count加1

將count的值寫入到內存中

最基本的互斥同步手段

并發編程中的元老級角色,是并發編程的必學內容

Synchronized的兩個用法

對象鎖

包括方法鎖(默認鎖對象為this當前實例對象)和同步代碼塊鎖(自己指定鎖對象)

代碼塊形式:手動指定鎖對象

方法鎖形式:synchronized修飾普通方法,鎖對象默認為this

類鎖

概念(重要):Java類可能有很多個對象,但只有1個Class對象

本質:所以所謂的類鎖,不過是Class對象的鎖而已

用法和效果:類鎖只能在同一時刻被一個對象擁有

形式1:synchronized加載static方法上

形式2:synchronized(*.class)代碼塊

消失的請求解決方案

不使用并發手段會有什么后果?如何解決?

解決問題

兩個線程同時a++,最后結果會比預計的少

原因

count++,它看上去知識一個操作,實際上包含了三個動作

讀取count

將count+1

將count的值寫入到內存中

方法一

方法二

方法三

七種常見情況之123

多線程訪問同步方法的7種情況

兩個線程同時訪問一個對象的同步方法

兩個線程訪問的是兩個對象的同步方法

兩個線程訪問的是synchronized的靜態方法

同時訪問同步方法與非同步方法

訪問同一個對象的不同的普通同步方法

同時訪問靜態synchronized和非靜態synchronized方法

方法拋異常后,會釋放鎖

情況一:

情況二:

情況三:

情況四:

情況五:

情況六:

情況七:

7種情況總結

3點核心思想

一把鎖只能同時被一個線程獲取,沒有拿到鎖的線程必須等待(對應第1、5種情況)

每個實例都對應有自己的一把鎖,不同實例之間互不影響;例外:鎖對象鎖是*.class以及Synchronized修飾的是static方法的時候,所有對象共用同一把鎖(對應第2、3、4、6種情況);

無論是方法正常執行完畢或者方法拋出異常,都會釋放鎖(對應第7種情況)

Synchronized缺陷

效率低:鎖的釋放情況少、試圖獲得鎖時不能設定超時、不能中斷一個正在試圖獲得鎖的線程

不夠靈活(讀寫鎖更靈活):加鎖和釋放的時機單一,每個鎖僅有單一的條件(某個對象),可能是不夠的

無法知道是否成功獲取到鎖

常見面試問題

1、使用注意點:鎖對象不能為空、作用域不宜過大、避免死鎖

2、如何選擇Lock和Synchronized關鍵字?

3、多線程訪問同步方法的各種具體情況

總結

以上是生活随笔為你收集整理的java高并发类_Java 高并发之魂的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。