亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

JAVA--線程同步

2019-11-14 21:00:18
字體:
來源:轉載
供稿:網友
java--線程同步

  繼昨天線程介紹后,今天我又把線程中的同步問題總結了一下,現在就和大家一起探討一下。

  線程加鎖有什么用處呢?舉個例子:比如你現在有30000塊大洋在銀行存著,現在你到銀行取錢,當你輸入密碼完成后,已經輸入取款金額,比如你輸入的是20000,就是在銀行給你拿錢這個時刻,你老婆也去銀行取這筆錢,你老婆同樣取20000,因為此時你的賬上仍然是30000,所以銀行同樣的操作在你老婆那端有進行了一遍,這樣當你們兩個完成各自操作后,銀行記錄的你賬上還應該有10000塊存款,這樣是不是很爽。解決這個問題就用到了線程加鎖的知識,下面就讓我們一起來學習一下吧。

一、未處理線程同步的一個例子:

public class TextSync implements Runnable{    /**未處理線程同步     * @param args     */    Time time = new Time();    public static void main(String[] args) {        TextSync text = new TextSync();        Thread t1 = new Thread(text);        Thread t2 = new Thread(text);        t1.setName("t1");        t2.setName("t2");        t1.start();        t2.start();    }    @Override    public void run() {        time.add(Thread.currentThread().getName());    }}class Time {    PRivate static int num = 0;    public void add(String name){        try {            num++;            //當第一個線程執行到此時,num變成了1,第一個線程暫停一秒,            //第二個線程開始執行,當第二個線程執行到此時,num變成了2,第二個線程暫停一秒,            //第一個線程此時的num同樣變成了2,所以最終的結果均為2;            Thread.sleep(1000);        } catch (InterruptedException e) {            e.printStackTrace();        }        System.out.println(name+"是第"+num+"個執行的線程。");    }}

輸出結果:

二、線程同步

public class TextSynctwo implements Runnable{    /**線程同步     * @param args     */    Time1 time = new Time1();    public static void main(String[] args) {        TextSynctwo text = new TextSynctwo();        Thread t1 = new Thread(text);        Thread t2 = new Thread(text);        t1.setName("t1");        t2.setName("t2");        t1.start();        t2.start();    }    @Override    public void run() {        time.add(Thread.currentThread().getName());    }}class Time1 {    private static int num = 0;        //synchronized鎖定當前線程,可以在方法定義時進行聲明,或采用在方法中進行設置。    public synchronized void add(String name){        //synchronized (this) {//鎖定當前線程,防止此時被別的線程執行            try {                num++;                Thread.sleep(1000);            } catch (InterruptedException e) {                e.printStackTrace();            }            System.out.println(name+"是第"+num+"個執行的線程。");        //}    }}

輸出結果:

三、死鎖

public class TestDeadLock implements Runnable{    /**死鎖     * @param args     */    private int flag = 0 ;     static Object o1 = new Object();    static Object o2 = new Object();    public static void main(String[] args) {        TestDeadLock td1 = new TestDeadLock();         TestDeadLock td2 = new TestDeadLock();         td1.flag = 1;        td2.flag = 2;        Thread t1 = new Thread(td1);         Thread t2 = new Thread(td2);        t1.setName("t1");        t2.setName("t2");        t1.start();        t2.start();    }    @Override    public void run() {        System.out.println(Thread.currentThread().getName());        if(flag == 1){            synchronized(o1){                try {                    Thread.sleep(5000);                } catch (InterruptedException e) {                    e.printStackTrace();                }                synchronized(o2){                    System.out.println("1");                }            }        }        if(flag == 2){            synchronized(o2){                try {                    Thread.sleep(5000);                } catch (InterruptedException e) {                    e.printStackTrace();                }                synchronized(o1){                    System.out.println("2");                }            }        }    }}

四、鎖定

public class TT implements Runnable{    /**鎖定     * @param args     */    int b = 100;    public static void main(String[] args) {        TT tt = new TT();        Thread th = new Thread(tt);        th.start();        try {            tt.m2();        } catch (Exception e) {            e.printStackTrace();        }        System.out.println(tt.b);    }    @Override    public void run() {        try {            m1();        } catch (Exception e) {            e.printStackTrace();        }    }        private synchronized void m1() throws Exception{        b = 1000;        Thread.sleep(5000);        System.out.println("b="+b);    }    private synchronized void m2() throws Exception{        Thread.sleep(2500);        b = 2500;    } }

對于鎖定這個我有一個疑問,還望大神們給予指點,現在的輸出結果:

我想問的就是,問什么m2先執行,m1要等m2執行完畢后方可執行。

希望大家給予答復,謝謝


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲美女在线观看| 另类美女黄大片| 亚洲日本成人网| 日韩精品www| 欧美亚洲视频在线看网址| 一区二区三区天堂av| 国产精品丝袜白浆摸在线| 日韩有码在线视频| 欧美最猛性xxxxx(亚洲精品)| 欧美激情女人20p| 国产精品视频xxx| 亚洲激情小视频| 一区二区三区国产视频| 粉嫩老牛aⅴ一区二区三区| 欧美三级免费观看| 97久久精品人搡人人玩| 日韩免费在线电影| 久久久精品一区二区三区| 欧美日韩中文字幕| 日韩av免费观影| 97在线观看免费| 亚洲黄一区二区| 久久精品国产欧美亚洲人人爽| 久久五月天综合| yw.139尤物在线精品视频| xxxxx成人.com| 亚洲香蕉成人av网站在线观看| 国产美女精品视频| 亚洲精品91美女久久久久久久| 91午夜理伦私人影院| 亚洲午夜性刺激影院| 在线播放日韩欧美| 啊v视频在线一区二区三区| 亚洲影视中文字幕| 欧洲日韩成人av| 亚洲欧洲xxxx| 一区二区三区亚洲| 日韩精品在线免费| 亚洲国产一区二区三区四区| 78m国产成人精品视频| 成人黄在线观看| 日韩视频永久免费观看| 欧美日韩国产综合新一区| 国产精品久久久久久久久男| 欧美中文字幕精品| 亚洲欧洲成视频免费观看| 久久久久九九九九| 国产一区二区香蕉| 亚洲电影免费观看高清完整版在线| 日韩欧美中文在线| 一区二区三区国产视频| 精品国产福利视频| 神马久久久久久| 中文字幕精品一区久久久久| 欧美午夜性色大片在线观看| 91精品国产91久久久久| 日韩av有码在线| 国产日韩综合一区二区性色av| 4388成人网| 欧美在线国产精品| 96精品视频在线| 精品中文字幕久久久久久| 成人免费在线网址| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产99久久精品一区二区| 国产婷婷色综合av蜜臀av| 成人激情视频网| 亚洲欧美日本精品| 中文字幕亚洲欧美一区二区三区| 久久久久亚洲精品| 国产精品午夜一区二区欲梦| 国产精品爱久久久久久久| 国产精品爽爽ⅴa在线观看| 久久久女人电视剧免费播放下载| 欧美性videos高清精品| 日本精品久久久久久久| 久久免费视频这里只有精品| 亚洲国产黄色片| 国产精品久久久久久av下载红粉| 国产精品jizz在线观看麻豆| 欧美亚洲日本网站| 亚洲精品aⅴ中文字幕乱码| 亚洲综合第一页| 欧美电影在线观看| 精品久久久久久中文字幕大豆网| 日韩av一区在线观看| 国产精品美女主播在线观看纯欲| 久久久免费电影| 欧美第一黄网免费网站| 精品视频在线播放免| 久久久久久久91| 国产精品久久久亚洲| 久久精品99久久香蕉国产色戒| 欧美怡春院一区二区三区| 国产精品白丝av嫩草影院| 精品国产区一区二区三区在线观看| 久久高清视频免费| 国产精品视频网站| 日韩精品免费在线观看| 国产日韩综合一区二区性色av| 色av吧综合网| 午夜精品久久久久久久男人的天堂| 国模视频一区二区三区| 欧美在线视频播放| 欧美成aaa人片在线观看蜜臀| 成人免费视频在线观看超级碰| 亚洲在线免费观看| 欧美性色xo影院| 亚洲aa在线观看| 欧美另类极品videosbestfree| 国产ts人妖一区二区三区| 日韩精品丝袜在线| 人妖精品videosex性欧美| 亚洲综合在线做性| 亚洲欧美国产va在线影院| 欧美午夜精品久久久久久人妖| 国产经典一区二区| 亚洲欧洲av一区二区| 91国偷自产一区二区三区的观看方式| 国产精品成人在线| 欧美日韩中文在线观看| 91色琪琪电影亚洲精品久久| 国产有码一区二区| 揄拍成人国产精品视频| 亚洲区一区二区| 国产精品中文字幕久久久| 欧美激情在线播放| 亚洲国产日韩欧美综合久久| 日韩精品在线视频| 欧美激情亚洲综合一区| 另类色图亚洲色图| 一个色综合导航| 伊人久久大香线蕉av一区二区| 欧美激情视频一区二区三区不卡| 综合av色偷偷网| 亚洲在线免费视频| 亚洲综合中文字幕在线| 九九九热精品免费视频观看网站| 国产精品视频导航| 日韩电影中文字幕一区| 中文字幕精品www乱入免费视频| 国模私拍一区二区三区| 久久精品电影网| 狠狠躁夜夜躁人人躁婷婷91| 国产亚洲欧美日韩美女| 国产视频精品一区二区三区| 精品久久久久久久中文字幕| 欧美大秀在线观看| 日本成人精品在线| 国产精品视频久久久久| 在线观看国产精品日韩av| 在线播放日韩专区| 欧美激情综合色综合啪啪五月| 国产精品情侣自拍| 亚洲黄页网在线观看| 亚洲一区免费网站| 欧美成人精品一区二区| 日韩欧美视频一区二区三区| 国产亚洲美女久久| 中文字幕av一区二区三区谷原希美| 国产成人精品视频在线观看| 4p变态网欧美系列| 久久久免费电影| 亚洲成人久久一区|