亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Java利用同步塊synchronized()保證并發(fā)安全

 更新時(shí)間:2019年03月26日 16:47:27   作者:imtimt  
這篇文章主要介紹了Java利用同步塊synchronized()保證并發(fā)安全,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

本文實(shí)例為大家分享了Java利用同步塊synchronized()保證并發(fā)安全的具體代碼,供大家參考,具體內(nèi)容如下

package day10;
/**
 * 同步塊
 * 有效地縮小同步范圍
 * 可以在保證并發(fā)安全的同時(shí)盡可能提高并發(fā)效率
 * 
 * 實(shí)例:模擬兩個(gè)人同時(shí)進(jìn)店買(mǎi)衣服,為提高效率
 * 	     只在試衣服階段進(jìn)行同步排隊(duì)過(guò)程,其他階段無(wú)需排隊(duì)。
 * @author kaixu
 *
 */
public class SyncDemo2 {

	public static void main(String[] args) {
	shop shop = new shop();
	Thread t1 = new Thread(){
		public void run() {
			shop.buy();
		}
	};
	Thread t2 = new Thread(){
		public void run() {
			shop.buy();
		}
	};
	t1.start();
	t2.start();
	}
}
class shop{
	public void buy(){
		//獲取運(yùn)行buy方法的線(xiàn)程
		Thread t = Thread.currentThread();
		try{
			System.out.println(t.getName()+":正在挑衣服...");
			Thread.sleep(5000);
			/**
			 * 同步塊可以要求多個(gè)線(xiàn)程對(duì)該塊內(nèi)的代碼排隊(duì)執(zhí)行
			 * 但是前提條件是同步監(jiān)視器對(duì)象(即上鎖的對(duì)象)
			 * 要求多個(gè)線(xiàn)程看到的必須是同一個(gè)。
			 * synchronized(同步監(jiān)視器對(duì)象){
			 * 		需要同步的代碼
			 * }
			 * 所謂同步執(zhí)行即:多個(gè)線(xiàn)程必須排隊(duì)執(zhí)行
			 * 所謂異步執(zhí)行即:多個(gè)線(xiàn)程可以同時(shí)執(zhí)行
			 */
			synchronized (this) {
				System.out.println(t.getName()+":正在試衣服...");
				Thread.sleep(5000);
			}
			System.out.println(t.getName()+":結(jié)賬離開(kāi)。");
		}catch (Exception e) {
			e.printStackTrace();
		}
	}
}

以上所述是小編給大家介紹的Java利用同步塊synchronized()保證并發(fā)安全詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 2021年最新Redis面試題匯總(4)

    2021年最新Redis面試題匯總(4)

    在程序員面試過(guò)程中redis相關(guān)的知識(shí)是常被問(wèn)到的話(huà)題。這篇文章主要介紹了幾道Redis面試題,整理一下分享給大家,感興趣的小伙伴們可以參考一下
    2021-07-07
  • springMVC傳遞list對(duì)象的三種使用方式

    springMVC傳遞list對(duì)象的三種使用方式

    這篇文章主要介紹了springMVC傳遞list對(duì)象的三種使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • elasticsearch索引index之Translog數(shù)據(jù)功能分析

    elasticsearch索引index之Translog數(shù)據(jù)功能分析

    這篇文章主要為大家介紹了elasticsearch索引index之Translog數(shù)據(jù)功能分析,主要分析translog的結(jié)構(gòu)及寫(xiě)入方式,有需要的朋友可以借鑒參考下
    2022-04-04
  • 詳解如何有效地處理Java中的多線(xiàn)程

    詳解如何有效地處理Java中的多線(xiàn)程

    在現(xiàn)代軟件開(kāi)發(fā)中,多線(xiàn)程編程已成為提高程序性能和響應(yīng)速度的重要手段,Java提供了豐富的多線(xiàn)程支持,使得在Java中實(shí)現(xiàn)并發(fā)操作變得相對(duì)簡(jiǎn)單,本文將深入探討Java多線(xiàn)程編程的基本概念、常見(jiàn)問(wèn)題和最佳實(shí)踐,需要的朋友可以參考下
    2024-06-06
  • window系統(tǒng)安裝jdk jre的教程圖解

    window系統(tǒng)安裝jdk jre的教程圖解

    java開(kāi)發(fā)少不了安裝jdk,jdk可以同時(shí)安裝多個(gè)版本,只要在項(xiàng)目部署時(shí)注意切換版本選擇,下面小編給大家?guī)?lái)了window系統(tǒng)安裝jdk jre的教程圖解,感興趣的朋友一起看看吧
    2018-08-08
  • Java 四種基本加密算法分析

    Java 四種基本加密算法分析

    這篇文章主要介紹了Java 四種基本加密算法分析的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • java實(shí)現(xiàn)用戶(hù)簽到BitMap功能實(shí)現(xiàn)demo

    java實(shí)現(xiàn)用戶(hù)簽到BitMap功能實(shí)現(xiàn)demo

    這篇文章主要為大家介紹了java實(shí)現(xiàn)用戶(hù)簽到BitMap功能實(shí)現(xiàn)demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Spring Cloud Eureka 注冊(cè)與發(fā)現(xiàn)操作步驟詳解

    Spring Cloud Eureka 注冊(cè)與發(fā)現(xiàn)操作步驟詳解

    這篇文章主要介紹了Spring Cloud Eureka 注冊(cè)與發(fā)現(xiàn)操作步驟詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Spring集成Swagger常見(jiàn)錯(cuò)誤及解決辦法

    Spring集成Swagger常見(jiàn)錯(cuò)誤及解決辦法

    這篇文章主要介紹了Spring集成Swagger常見(jiàn)錯(cuò)誤及解決辦法,幫助大家更好的理解和學(xué)習(xí)使用Spring,感興趣的朋友可以了解下
    2021-05-05
  • 快速校驗(yàn)實(shí)體類(lèi)時(shí),@Valid,@Validated,@NotNull注解無(wú)效的解決

    快速校驗(yàn)實(shí)體類(lèi)時(shí),@Valid,@Validated,@NotNull注解無(wú)效的解決

    這篇文章主要介紹了快速校驗(yàn)實(shí)體類(lèi)時(shí),@Valid,@Validated,@NotNull注解無(wú)效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10

最新評(píng)論