大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Java多線程編程概述
Java多線程的安全問題
Java多線程同步
Java多線程間的通信
Java線程Lock
Java多線程管理
保障線程安全的設計技術
Java鎖的優化及注意事項
Java多線程集合
【Java多線程】單例模式與多線程

Java ReentrantLock使用

調用lock()方法獲得鎖, 調用unlock()釋放鎖。

package com.wkcto.lock.reentrant;

import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

/**
 * Lock鎖的基本使用
 */
public class Test02 {
    //定義顯示鎖
    static Lock lock = new ReentrantLock();
    //定義方法
    public static void sm(){
        //先獲得鎖
        lock.lock();
        //for循環就是同步代碼塊
        for (int i = 0; i < 100; i++) {
            System.out.println(Thread.currentThread().getName() + " -- " + i);
        }
        //釋放鎖
        lock.unlock();
    }

    public static void main(String[] args) {
        Runnable r = new Runnable() {
            @Override
            public void run() {
                sm();
            }
        };
        //啟動三個線程
        new Thread(r).start();
        new Thread(r).start();
        new Thread(r).start();
    }
}
package com.wkcto.lock.reentrant;

import java.util.Random;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

/**
 * 使用Lock鎖同步不同方法中的同步代碼塊
 */
public class Test03 {
    static Lock lock = new ReentrantLock();         //定義鎖對象
    public static void sm1(){
        //經常在try代碼塊中獲得Lock鎖, 在finally子句中釋放鎖
        try {
            lock.lock();        //獲得鎖
            System.out.println(Thread.currentThread().getName() + "-- method 1 -- " + System.currentTimeMillis() );
            Thread.sleep(new Random().nextInt(1000));
            System.out.println(Thread.currentThread().getName() + "-- method 1 -- " + System.currentTimeMillis() );
        } catch (InterruptedException e) {
            e.printStackTrace();
        } finally {
            lock.unlock();          //釋放鎖
        }
    }

    public static void sm2(){
        try {
            lock.lock();        //獲得鎖
            System.out.println(Thread.currentThread().getName() + "-- method 22 -- " + System.currentTimeMillis() );
            Thread.sleep(new Random().nextInt(1000));
            System.out.println(Thread.currentThread().getName() + "-- method 22 -- " + System.currentTimeMillis() );
        } catch (InterruptedException e) {
            e.printStackTrace();
        } finally {
            lock.unlock();          //釋放鎖
        }
    }

    public static void main(String[] args) {
        Runnable r1 = new Runnable() {
            @Override
            public void run() {
                sm1();
            }
        };
        Runnable r2 = new Runnable() {
            @Override
            public void run() {
                sm2();
            }
        };

        new Thread(r1).start();
        new Thread(r1).start();
        new Thread(r1).start();
        new Thread(r2).start();
        new Thread(r2).start();
        new Thread(r2).start();
    }
}
全部教程
主站蜘蛛池模板: 久久88| 国产成人乱码一区二区三区 | 色播影音 | 五月天丁香六月欧美综合 | 成 人 黄 色 大 片全部 | 国产成人一区 | 天天干天天射天天舔 | 999热视频 | 在线精品国产第一页 | 蜜桃久久 | 国产精品香蕉在线一区 | 国产黄网永久免费 | 国产日韩一区二区三区在线观看 | 亚洲欧美色鬼久久综合 | 91破解版在线 | 亚洲 | 91热久久免费频精品黑人99 | 亚洲欧洲视频在线观看 | 日本中文字幕在线视频 | 性猛交毛片 | 男人女人真曰批的视频动态 | 中文字幕专区在线亚洲 | 欧美日韩一区二区三区毛片 | 性欧美久久| 国产欧美一区二区精品性色 | 欧美激情一区二区三级高清视频 | 欧美日韩视频一区二区 | 久久semm亚洲国产 | 日韩有码在线播放 | 国产欧美日韩中文字幕 | 亚洲欧美日韩成人一区在线 | 久久亚洲国产成人亚 | 国产成a人亚洲精v品久久网 | 狠狠色噜噜狠狠米奇777 | 中文字幕在线视频免费观看 | 精品亚洲视频在线观看 | 成人欧美视频免费看黄黄 | 女人zzzooooxxxx | 成人夜色香网站在线观看 | 亚洲精品啪啪一区二区三区 | 亚洲一区二区三区精品影院 | 日韩va亚洲va欧美va浪潮 |