大战熟女丰满人妻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();
    }
}
全部教程
主站蜘蛛池模板: 久久99精品综合国产首页 | 国产123区 | 天天射天天搞 | 婷婷综合视频 | 日韩精品一区二区三区免费视频 | 97国产在线公开免费观看 | 国外成人免费高清激情视频 | 国产主播第一页 | 国产精品久久久久久永久牛牛 | 一级黄色录像毛片 | 毛片小视频 | 久久免费视频一区 | 久久视频精品线视频在线网站 | 久久亚洲精品中文字幕 | 欧美日韩视频在线播放 | 丁香午夜婷婷 | 久久婷婷色一区二区三区 | 成人性色生活片免费看爆迷你毛片 | 伊人久久大杳蕉综合大象 | 老妇色| 亚洲色吧 | 日韩精品一区二区三区视频 | 91精品国产综合久久久久 | 日韩一区二区三区在线观看 | 九九视频精品在线 | 精品久久久久久影院免费 | 久久综合给合久久狠狠狠97色 | 亚洲 欧美 成人日韩 | 久久se精品一区二区影院 | 九九99视频在线观看视频观看 | 欧美日韩永久久一区二区三区 | 五月天丁香婷婷综合久久 | 国产精品成人网 | 色婷婷综合欧美成人 | 久青草国产高清在线视频 | 国产福利不卡视频在免费播放 | 久久99九九 | 久久成人18免费网站 | 俄罗斯午夜影院 | 九色九色九色在线综合888 | 色综合视频在线观看 |