最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺析Java多線程同步synchronized

 更新時(shí)間:2018年02月28日 08:50:41   作者:彬菌  
本篇文章給大家詳細(xì)分析了Java多線程同步synchronized的相關(guān)知識(shí)點(diǎn),需要的讀者們可以參考學(xué)習(xí)下。

單線程是安全的,因?yàn)榫€程只有一個(gè),不存在多個(gè)線程搶奪同一個(gè)資源

代碼例子:

public class SingleThread {
	int num=10;
	public void add(){
		while(num<13){
			num++;
			try{
				Thread.sleep(1000);
			}
			catch(Exception e){
				System.out.println("中斷");
			}
			System.out.println(num);
		}
	}
	public static void main(String[] args){
		Thread thread = Thread.currentThread(); //獲取當(dāng)前運(yùn)行的線程對(duì)象
		thread.setName("單線程"); //線程重命名
		System.out.println(thread.getName()+"正在運(yùn)行");
		SingleThread st=new SingleThread();
		st.add();
	}
}

多線程安全,synchronized同步代碼塊

synchronized(對(duì)象){}; //同步代碼塊

synchronized 返回值 方法名(){}; //同步方法

class One {
	 int num=10;
	 public void add(){ 
		synchronized(this){ //同步代碼塊,同步方法也可以實(shí)現(xiàn)效果synchronized void add(){};
		num++;
	  try {
	   Thread.sleep(1000);
	  } catch (InterruptedException e) {
	  	System.out.println("中斷");
	  }
	  System.out.println(num);
	  }
	 }
	}
	class Two implements Runnable{
	 One one = new One();
	 @Override
	 public void run() {
		 one.add(); //調(diào)用add方法
	 }
	}
	public class Synch{
	 public static void main(String[] args) {
		Two two = new Two();
	  Thread t1 = new Thread(two); //創(chuàng)建三個(gè)子線程
	  Thread t2 = new Thread(two);
	  Thread t3 = new Thread(two);
	  t1.start();
	  t2.start();
	  t3.start();
	 }
}

注意:觀察去除synchronized關(guān)鍵字的運(yùn)行結(jié)果區(qū)別!

正常運(yùn)行結(jié)果:

11
12
13

相關(guān)文章

  • Java fastjson解析json字符串實(shí)現(xiàn)過(guò)程解析

    Java fastjson解析json字符串實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了Java fastjson解析json字符串實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Spring bean加載控制實(shí)現(xiàn)方法

    Spring bean加載控制實(shí)現(xiàn)方法

    很多時(shí)候我們需要根據(jù)不同的條件在容器中加載不同的Bean,或者根據(jù)不同的條件來(lái)選擇是否在容器中加載某個(gè)Bean,這就是Bean的加載控制,一般我們可以通過(guò)編程式或注解式兩種不同的方式來(lái)完成Bean的加載控制
    2022-12-12
  • SpringBoot中的文件上傳和異常處理詳解

    SpringBoot中的文件上傳和異常處理詳解

    這篇文章主要介紹了SpringBoot中的文件上傳和異常處理詳解,對(duì)于機(jī)器客戶端,它將生成JSON響應(yīng),其中包含錯(cuò)誤,HTTP狀態(tài)和異常消息的詳細(xì)信息,對(duì)于瀏覽器客戶端,響應(yīng)一個(gè)"whitelabel"錯(cuò)誤視圖,以HTML格式呈現(xiàn)相同的數(shù)據(jù),需要的朋友可以參考下
    2023-09-09
  • Java通過(guò)工廠、Map容器創(chuàng)建對(duì)象的方法

    Java通過(guò)工廠、Map容器創(chuàng)建對(duì)象的方法

    這篇文章主要介紹了Java通過(guò)工廠、Map容器創(chuàng)建對(duì)象的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Java常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)之棧和隊(duì)列詳解

    Java常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)之棧和隊(duì)列詳解

    這篇文章主要介紹了Java常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)之棧和隊(duì)列詳解,棧(Stack) 是一種基本的數(shù)據(jù)結(jié)構(gòu),具有后進(jìn)先出(LIFO)的特性,類似于現(xiàn)實(shí)生活中的一疊盤子,棧用于存儲(chǔ)一組元素,但只允許在棧頂進(jìn)行插入(入棧)和刪除(出棧)操作,需要的朋友可以參考下
    2023-10-10
  • 淺談spring security入門

    淺談spring security入門

    這篇文章主要介紹了淺談spring security入門,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • LeetCode -- Path Sum III分析及實(shí)現(xiàn)方法

    LeetCode -- Path Sum III分析及實(shí)現(xiàn)方法

    這篇文章主要介紹了LeetCode -- Path Sum III分析及實(shí)現(xiàn)方法的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • mybatis-plus中BaseMapper入門使用

    mybatis-plus中BaseMapper入門使用

    本文主要介紹了mybatis-plus中BaseMapper入門使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Java?Guava異步編程實(shí)踐

    Java?Guava異步編程實(shí)踐

    今天咱們要聊的是Guava在異步編程中的應(yīng)用,讓我們搞清楚為什么要用Guava來(lái)處理異步任務(wù),在Java的世界里,異步編程是個(gè)老話題了,但它依舊非常關(guān)鍵,它能讓咱們的應(yīng)用更高效,尤其是在處理那些耗時(shí)的I/O操作
    2023-12-12
  • spring security登錄認(rèn)證授權(quán)的項(xiàng)目實(shí)踐

    spring security登錄認(rèn)證授權(quán)的項(xiàng)目實(shí)踐

    SpringSecurity主要實(shí)現(xiàn)了認(rèn)證(Authentication)和授權(quán)(AccessControl),本文就來(lái)介紹一下spring security登錄認(rèn)證授權(quán)的項(xiàng)目實(shí)踐,感興趣的可以了解一下
    2025-01-01

最新評(píng)論

深州市| 合阳县| 东乌珠穆沁旗| 慈利县| 应城市| 七台河市| 体育| 江油市| 沾益县| 安福县| 河北区| 新建县| 泽州县| 淮北市| 沅陵县| 日照市| 通道| 东光县| 邮箱| 安阳市| 武功县| 同江市| 六枝特区| 两当县| 陆良县| 樟树市| 宜春市| 天台县| 永和县| 扬州市| 成安县| 吉安县| 丹寨县| 沽源县| 武陟县| 定襄县| 永靖县| 大同县| 全椒县| 金塔县| 东乡县|