黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Java多線程編程概述
Java多線程的安全問題
Java多線程同步
Java多線程間的通信
Java線程Lock
Java多線程管理
保障線程安全的設(shè)計(jì)技術(shù)
Java鎖的優(yōu)化及注意事項(xiàng)
Java多線程集合
【Java多線程】單例模式與多線程

Java volatile關(guān)鍵字的作用

volatile關(guān)鍵字的作用使變量在多個(gè)線程之間可見。

package com.wkcto.volatilekw;

/**
 * volatile的作用可以強(qiáng)制線程從公共內(nèi)存中讀取變量的值,而不是從工作內(nèi)存中讀取
 * Author: 老崔
 */
public class Test02 {
    public static void main(String[] args) {
        //創(chuàng)建PrintString對象
        PrintString printString = new PrintString();

        //開啟子線程,讓子線程執(zhí)行printString對象的printStringMethod()方法
        new  Thread(new Runnable() {
            @Override
            public void run() {
                printString.printStringMethod();
            }
        }).start();

        //main線程睡眠1000毫秒
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("在main線程中修改打印標(biāo)志");
        printString.setContinuePrint(false);
       //程序運(yùn)行,查看在main線程中修改了打印標(biāo)志之后 ,子線程打印是否可以結(jié)束打印
        //程序運(yùn)行后, 可能會(huì)出現(xiàn)死循環(huán)情況
        //分析原因:  main線程修改了printString對象的打印標(biāo)志后, 子線程讀不到
        //解決辦法: 使用volatile關(guān)鍵字修飾printString對象的打印標(biāo)志.
        //      volatile的作用可以強(qiáng)制線程從公共內(nèi)存中讀取變量的值,而不是從工作內(nèi)存中讀取
    }

    //定義類打印字符串
    static class  PrintString{
        private volatile boolean continuePrint = true;

        public PrintString setContinuePrint(boolean continuePrint) {
            this.continuePrint = continuePrint;
            return this;
        }

        public void printStringMethod(){
            System.out.println(Thread.currentThread().getName() + "開始....");
            while ( continuePrint ){

            }
            System.out.println(Thread.currentThread().getName() + "結(jié)束++++++++++++++");
        }
    }
}

volatile與synchronized比較

● volatile關(guān)鍵字是線程同步的輕量級實(shí)現(xiàn),所以volatile性能肯定比synchronized要好; volatile只能修飾變量,而synchronized可以修飾方法,代碼塊. 隨著JDK新版本的發(fā)布,synchronized的執(zhí)行效率也有較大的提升,在開發(fā)中使用sychronized的比率還是很大的。

● 多線程訪問volatile變量不會(huì)發(fā)生阻塞,而synchronized可能會(huì)阻塞。

● volatile能保證數(shù)據(jù)的可見性,但是不能保證原子性; 而synchronized可以保證原子性,也可以保證可見性。

● 關(guān)鍵字volatile解決的是變量在多個(gè)線程之間的可見性; synchronized關(guān)鍵字解決多個(gè)線程之間訪問公共資源的同步性。

全部教程
主站蜘蛛池模板: 丝袜无内写真福利视频 | 欧美日产欧美日产精品 | 国产精品午夜在线播放a | 日韩欧美亚洲综合一区二区 | 国产美女高清一级a毛片 | yjizz视频国产网站在线播放 | 高清性色生活片免费视频软件 | 欧美日韩视频免费播放 | 18p爽视频在线观看免费 | 香蕉视频网站在线 | 黑人又大又粗又长又深受不了 | 亚洲精品第一页中文字幕 | 黄色影片在线播放 | 国产你懂的视频 | www日| 日韩专区亚洲精品欧美专区 | 福利网站在线观看 | 成人黄漫画免费观看网址 | 午夜综合网 | 亚洲国产精品久久久久久 | 91丝瓜视频最新版 | 欧美日韩在线观看一区 | 美女免费视频一区二区三区 | 日本操穴 | 九九碰| 国产欧美日韩亚洲精品区2345 | 波多野结衣视频免费观看 | 国产黄色片在线免费观看 | 色播视频在线观看 | 欧美日韩亚洲一区二区 | 亚洲 欧美 激情 另类 自拍 | 中文字幕一区精品欧美 | www.黄色网址| 日本三级一区二区三区 | 最近日本韩国高清免费观看 | 波多野结衣一区二区三区88 | 丁香网五月 | 人人上人人干 | 1204曰韩欧美成人看片 | 国产麻豆精品入口在线观看 | 免费一级真人毛片 |