java多线程快速入门(十五)

Posted cppdy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java多线程快速入门(十五)相关的知识,希望对你有一定的参考价值。

使用violate关键字解决了变量的可见性问题(volatile让多线程刷新falg的值)

package com.cppdy;

class MyThread11 extends Thread {

    //volatile让多个线程刷新falg的值
    public volatile boolean falg = true;

    @Override
    public void run() {
        System.out.println("子线程开始执行啦");
        while (falg) {

        }
        System.out.println("子线程结束执行啦");
    }

    public void setFalg(boolean falg) {
        this.falg=falg;
        System.out.println("falg的值:"+this.falg);
    }
}

public class ThreadDemo11 {

    public static void main(String[] args) throws Exception {
        MyThread11 mt = new MyThread11();
        mt.start();
        Thread.sleep(1000);
        mt.setFalg(false);
        System.out.println("主线程结束啦");
    }

}

当更改falg的值,volatile会更新其它线程falg的值

以上是关于java多线程快速入门(十五)的主要内容,如果未能解决你的问题,请参考以下文章

java 多线程 快速入门

(Java多线程系列一)快速入门

java多线程快速入门

java多线程快速入门

java多线程快速入门(二十)

java多线程快速入门