您现在的位置是:主页 > news > 浏阳疫情发布/逆冬seo
浏阳疫情发布/逆冬seo
admin2025/6/26 22:37:36【news】
简介浏阳疫情发布,逆冬seo,网站的几种提交方式,做擦边球的网站volatile关键字的应用场景主要是一写多读,因为volatile只能对多线程处理变量的可见性,并不能保证原子性,所以并发修改变量的时候还是要用synchronized加锁处理,例子 /** CMB Confidential** Copyright (C) 2017 China Merchants …
浏阳疫情发布,逆冬seo,网站的几种提交方式,做擦边球的网站volatile关键字的应用场景主要是一写多读,因为volatile只能对多线程处理变量的可见性,并不能保证原子性,所以并发修改变量的时候还是要用synchronized加锁处理,例子
/** CMB Confidential** Copyright (C) 2017 China Merchants …
volatile关键字的应用场景主要是一写多读,因为volatile只能对多线程处理变量的可见性,并不能保证原子性,所以并发修改变量的时候还是要用synchronized加锁处理,例子
/** CMB Confidential** Copyright (C) 2017 China Merchants Bank Co., Ltd. All rights reserved.** No part of this file may be reproduced or transmitted in any form or by any means,* electronic, mechanical, photocopying, recording, or otherwise, without prior* written permission of China Merchants Bank Co., Ltd.*/
package com.cmbchina.ccd.oa.cchrapi.juc;/*** @description: volatile关键字* @author: kongwc* @create: 2020-03-19*/
public class VolatileDemo {private static volatile int total = 10;public static void main(String[] args) {Ticket ticket = new Ticket();Ticket1 ticket1 = new Ticket1();Thread thread1 = new Thread(ticket1);thread1.start();for(int i=0; i<100; i++){Thread thread = new Thread(ticket);thread.start();}}static class Ticket implements Runnable{@Overridepublic void run() {try {Thread.sleep(1500);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("total is:" + total + "--------时间为:" + System.currentTimeMillis());}}static class Ticket1 implements Runnable{@Overridepublic void run() {try {Thread.sleep(1500);} catch (InterruptedException e) {e.printStackTrace();}total--;System.out.println("修改后打印时间为:" + System.currentTimeMillis() + "--------时间为:" + System.currentTimeMillis());}}
}
如果不加volatile关键字,对total做修改,并不能保证其他线程及时查询到修改后的变量