企业门户网站服务器c 做网站

news/2025/9/28 17:29:50/文章来源:
企业门户网站服务器,c 做网站,想学网络营销网站建设,wordpress html标签变量初始值为A#xff0c;修改成B,通过AtomicReference的compareAndSet去改变。就会先比较原来的值是否为A#xff0c;如果为A则修改成功#xff0c;否则修改失败。 但是如果在这个过程中#xff0c;A变成D然后又变成A, 那么再调用compareAndSet去改变也能修改成功B。这个…变量初始值为A修改成B,通过AtomicReference的compareAndSet去改变。就会先比较原来的值是否为A如果为A则修改成功否则修改失败。 但是如果在这个过程中A变成D然后又变成A, 那么再调用compareAndSet去改变也能修改成功B。这个过程中A-D-A,程序是感知不到的。 Slf4j public class ABADemo {static AtomicReferenceString atomicReference new AtomicReference(A);public static void main(String[] args) {String prev atomicReference.get();//中间A-B-Aother();try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}atomicReference.compareAndSet(prev, C);log.info(atomicReference{}, atomicReference.get());}public static void other() {new Thread(() - {atomicReference.compareAndSet(atomicReference.get(), B);log.info(atomicReference{}, atomicReference.get());}, t1).start();try {Thread.sleep(500);} catch (InterruptedException e) {e.printStackTrace();}new Thread(() - {atomicReference.compareAndSet(atomicReference.get(), A);log.info(atomicReference{}, atomicReference.get());}, t2).start();} } 上面的代码主线程仅能判断共享变量的值是否与最初的A是否相同不同感知这种从A变成了B又变成了A的情景。 需求 如果主线程希望只要有其他线程动过这个共享变量那么自己cas操作就算失败这时比较值是不够的需要加入版本号。 谁做了修改让这个版本号加一。 AtomicStampedReference  时间戳或者版本号 Slf4j public class ABADemo {//第一个此参数是值第二个参数是版本号static AtomicStampedReferenceString atomicReference new AtomicStampedReference(A, 1);public static void main(String[] args) {String prev atomicReference.getReference();//版本号int stamp atomicReference.getStamp();//中间A-B-Aother();try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}//旧的值新的值旧的版本号新的版本号1boolean res atomicReference.compareAndSet(prev, C, stamp, stamp 1);log.info(更新结果{},atomicReference{}, res, atomicReference.getReference());}public static void other() {new Thread(() - {//获取当前数据的版本号int stamp atomicReference.getStamp();boolean res atomicReference.compareAndSet(atomicReference.getReference(), B, stamp, stamp1);log.info(更新结果{},atomicReference{}, res, atomicReference.getReference());}, t1).start();try {Thread.sleep(500);} catch (InterruptedException e) {e.printStackTrace();}new Thread(() - {//获取当前数据的版本号int stamp atomicReference.getStamp();boolean res atomicReference.compareAndSet(atomicReference.getReference(), A, stamp, stamp1);log.info(更新结果{},atomicReference{}, res, atomicReference.getReference());}, t2).start();} } 通过AtomicStampedReference的版本号可以知道数据改了多少次。但是有时候我们不关心数据改了多少次只是想知道数据中间有没有改变过。所以就可以使用AtomicMarkableReference。 Slf4j public class Test01 {public static void main(String[] args) {GarbageBag garbageBag new GarbageBag(装满了垃圾);//第二个参数作为一个标记true表示垃圾袋满了AtomicMarkableReferenceGarbageBag atomicMarkableReference new AtomicMarkableReference(garbageBag, true);log.info(start....);GarbageBag prev atomicMarkableReference.getReference();log.info(prev{}, prev);//保洁阿姨去换了空垃圾袋new Thread(() - {boolean res atomicMarkableReference.compareAndSet(prev, new GarbageBag(空垃圾袋), true, false);log.info(res{}, garbageBag{}, res, atomicMarkableReference.getReference());}, 保洁阿姨).start();try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}//换空垃圾袋失败因为保洁阿姨已经换了,标记为false,垃圾袋空了log.info(换一个新的垃圾袋);boolean res atomicMarkableReference.compareAndSet(prev, new GarbageBag(空垃圾袋), true, false);log.info(res{}, garbageBag{}, res, atomicMarkableReference.getReference());} }class GarbageBag {private String desc;public GarbageBag(String desc) {this.desc desc;}public void setDesc(String desc) {this.desc desc;}Overridepublic String toString() {return super.toString()----desc;} }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/920903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ppt成品免费下载的网站网站建设旗帜条幅

几张图看懂列式存储 转载于:https://www.cnblogs.com/apeway/p/10870211.html

ssti模板注入

ssti模板注入 1. SSTI漏洞 SSTI,即服务器端模板注入漏洞; ​ 在渲染模板时,代码不严谨并且没有对用户的输入做严格过滤,将导致SSTI漏洞,造成任意文件读取和RCE命令执行; 2. SSTI类型判断绿线表示执行成功,…

2025 年章丘二手磁选机厂家最新权威推荐排行榜:TOP 级企业设备全型号覆盖与五年质保深度解析二手立环磁选机/二手华特磁选机/章丘二手磁选机厂家推荐

在矿产加工与原料提纯行业,磁选机作为核心分选设备,其品质与适配性直接决定生产效率和产品纯度。当前二手磁选机交易市场乱象丛生,不少商家设备型号单一,无法满足不同产能需求;品牌选择受限,采购灵活性低;更有甚…

中位数定理

https://codeforces.com/contest/2149/problem/D点击查看代码 #include <bits/stdc++.h> #define int long long using namespace std;int f(const vector<int> x){if(x.empty())return 0;int pos = (int)…

数据集Dataset

Dataset:提供一种方式去获取数据及其label 目的:如何获取每一个数据及其label;告诉我们总共有多少个数据 tensorboard 用于可视化 TensorFlow 等深度学习框架训练过程等数据的工具。

301网站目录个人主页模板设计

思路&#xff1a; 外层循环控制循环次数(i<len)&#xff0c;设置swapFlagfalse内层循环j1(j<len-i)&#xff0c;两两(j和j-1)比较&#xff0c;逆序则交换内层每次循环结束&#xff0c;没有交换&#xff0c;则break结束 内层循环j从1开始&#xff0c;小于len&#xff0c;…

2025 年三维扫描仪厂家最新权威推荐排行榜:覆盖空间 / 高精度 / 专业 / 手持激光 / 工业等类型,精选实力企业深度解析

在数字化转型浪潮席卷各行业的当下,三维扫描技术已成为文博保护、工业检测、医疗诊断、教育科研等领域的核心支撑工具,市场对高品质三维扫描仪的需求呈爆发式增长。然而,当前市场品牌鱼龙混杂,产品从消费级到工业级…

深入解析:华为全系列机型发展简史 机型与芯片的对照表

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

计算机网络---网络层 - 详解

计算机网络---网络层 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco",…

2025 年染井吉野樱厂商最新推荐排行榜:权威筛选优质苗木供应商,聚焦分枝点规格与景观适配五公分/十公分/染井吉野樱批发厂商推荐

当前染井吉野樱苗木市场面临分枝点规格混乱、培育标准缺失等问题,从 0.5 米到 3 米的分枝点标注随意,导致采购方难以匹配绿化项目需求。部分供应商忽视科学培育,苗木移栽后树形失衡,严重影响城市绿化、景区打造等项…

一个网站怎么绑定很多个域名国家备案网查询系统

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;大厂高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

2025 货架厂家权威推荐排行榜: 实力厂家深度解析,金塔领衔全业态定制服务新标杆云南/昆明/西南货架厂家推荐

在零售与仓储行业加速升级的当下,货架作为空间利用与商品运营的核心载体,其品质、设计适配性与服务效率直接决定业态盈利水平。然而当前市场乱象频发:部分小厂缺乏核心技术,产品承重不足、易变形,存在安全隐患;多…

国标GB28181视频平台EasyGBS公网平台实时视频播放方案

国标GB28181视频平台EasyGBS公网平台实时视频播放方案支持平台级联功能,可以实现多个平台之间的互联互通和数据共享。这对于构建大规模、跨地域的安防监控网络具有重要意义。随着科技的飞速发展,视频监控技术已经成为…

怎样免费设计网站建设网站cms相关知识

文章目录 顺序表一&#xff1a;线性表1.1概念&#xff1a; 二&#xff1a;顺序表2.1概念与结构&#xff1a;2.2分类&#xff1a;2.2.1静态顺序表2.2.2动态顺序表 2.3动态顺序表的实现声明&#xff08;初始化&#xff09;检查空间容量尾插头插尾删头删查找指定位置之前插入数据指…

2025 展会搭建公司权威推荐排行榜:服务商创意定制与全流程服务能力深度解析站台展会搭建/展台搭建活动策划/展台搭建展台制作公司推荐

会展经济的蓬勃发展推动展会搭建成为品牌展示的核心载体,但其行业痛点却日益凸显:传统服务商设计同质化严重,难以匹配品牌个性化表达;施工团队专业度参差导致进度延误、安全隐患频发;服务链条断裂需客户多方协调,…

Volcano——配置理解

Volcano配置apiVersion: v1 kind: ConfigMap metadata:name: volcano-scheduler-configmapnamespace: volcano-system data:volcano-scheduler.conf: |actions: "enqueue, allocate, backfill"tiers:- plugi…

国标GB28181视频平台EasyGBS:强大的视频监控与一站式视频服务解决方案

国标GB28181视频平台EasyGBS:强大的视频监控与一站式视频服务解决方案以其强大的功能、卓越的性能和良好的可扩展性,为用户提供了全面的视频监控与服务解决方案。随着信息技术的飞速发展,视频监控领域正经历着从传统…

阿里云主机建网站吉林市建设官方网站

一、说明 文本摘要是一种自然语言处理技术&#xff0c;允许用户将大量文本总结为小块&#xff0c;而不会丢失任何重要信息。本文介绍NLP中使用Gensim和Sumy实现文本摘要的步骤。 二、为什么要总结文本&#xff1f; 互联网包含大量信息&#xff0c;而且每秒都在增加。文本摘要可…

用了wordpress的网站进去了

11月24日——26日&#xff0c;冷喷涂技术及其在增材制造中的应用专题会在襄阳召开&#xff0c;来自国内外200多名科技工作者齐聚一堂&#xff0c;共同交流冷喷涂技术的研究与应用。 本次专题研讨会由中国机械工程学会表面工程分会主办&#xff0c;湖北超卓航空科技股份有限公司…

题解:AT_abc425_f [ABC425F] Inserting Process

这个 \(n\le 22\) 的数据范围一看就是那种正解 \(O(n2^n)\) 不知道为啥还去卡 \(O(n^22^n)\) 的玩意儿吧,结合题面大致就能猜到它是个状压DP状物。 然后应该普遍就能想到是把每个字符当前在不在串里压成状态,按每一步…