zoukankan      html  css  js  c++  java
  • 通过volatile实现多线程间共享变量的可见性

    package com.leetcode.multithreading.licm;
    
    /**
     * @description:
     *
     * 通过volatile实现多线程间共享变量的可见性
     *
     * @author: licm
     * @create: 2021-07-26 10:55
     **/
    public class VolatileTest {
        private volatile boolean flag = true;
    
        public boolean isFlag() {
            return flag;
        }
    
        public void setFlag(boolean flag) {
            this.flag = flag;
        }
    
        private static class ChangeFlag extends Thread {
    
            private VolatileTest volatileTest;
    
            public ChangeFlag(VolatileTest volatileTest) {
                this.volatileTest = volatileTest;
            }
    
            @Override
            public void run() {
                while (volatileTest.flag) {
                    System.out.println("flag是 true");
                }
                System.out.println("flag 已经变成了false");
            }
        }
    
        public static void main(String[] args) throws InterruptedException {
            VolatileTest volatileTest = new VolatileTest();
    
            ChangeFlag addCount = new ChangeFlag(volatileTest);
            addCount.start();
            Thread.sleep(50);
            volatileTest.setFlag(false);
            ChangeFlag addCount1 = new ChangeFlag(volatileTest);
            addCount1.start();
    
    
        }
    
    }
    
    
    不会,我可以学;落后,我可以追赶;跌倒,我可以站起来!
  • 相关阅读:
    创建索引
    列出所有的索引
    查看集群节点api
    集群健康检查api
    mapping 映射
    Elasticsearch 版本控制
    四种常见的 POST 提交数据方式
    HttpPost 传输Json数据并解析
    基本概念
    信用卡年轻消费群体数据分析和洞察报告
  • 原文地址:https://www.cnblogs.com/xiaoshahai/p/15061092.html
Copyright © 2011-2022 走看看