AtomicLong seqSeed = new AtomicLong(1L);
public long newSeq() {
return (seqSeed.incrementAndGet() << cfg.leftOffset) + cfg.keyValue;
}
我想限定最大值.比如最大值为1000;
if(seqSeed.incrementAndGet()>=1000)
{
seqSeed=new AtomicLong(1L);
}
能这么写?
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

首页/
已采纳
Atomic 最大值的问题!!!!!!
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
1条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
iteye_12959 2009-12-23 02:23关注不能 ,if要加同步
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2016-12-20 20:54回答 1 已采纳 http://poj.org/problem?id=2779
- 2018-03-13 20:09回答 2 已采纳 Atomic系列的API不仅保证可见性,还保证原子性。主要的实现思路是无锁设计,用volatile修饰状态保证其可见性,操作值是在一个无限循环体内,操作一次后用CAS保证在操作前读取后没有被其他线程操
- 2017-09-25 08:20回答 1 已采纳 http://blog.csdn.net/u010568270/article/details/52982465
- 2020-09-13 23:13程序员cxuan的博客 C 语言具有高效性 C 语言是一门高效性语言,它被设计用来充分发挥计算机的优势,因此 C 语言程序运行速度很快,C 语言能够合理了使用内存来获得最大的运行速度 C 语言具有可移植性 C 语言是一门具有可移植性的语言...
- 2016-12-21 22:55回答 1 已采纳 Yes, you need to use atomic operations when you are both loading and storing the same value. The r
- 2023-03-15 11:13回答 2 已采纳 这篇文章讲的很详细,请看:flink Too many fields referenced from an atomic type
- 2021-04-15 17:02回答 1 已采纳 并发主要解决三个问题,CPU切换线程执导致的原子性问题,缓存导致的可见性问题,指令优化导致的重排序问题 原子类解决的是原子性问题,volatile解决的是变量可见性、禁止重排序;所以你这可以解决指令
- 2020-05-25 06:18yangcai11的博客 优点:解决方案、处理问题能力、架构优化/拓展能力 零、Zookeeper事务 事务id(主从同步Id-每次ack递增+1,64位存储(32位纪元号-leader号,32位自增号)) 每一个操作都将使节点接收到一个Zxid格式的时间戳 ...
- 2017-10-03 20:07回答 1 已采纳 which basically load the value from the memory address and return it. That is the case in you
- 2016-12-04 23:02回答 1 已采纳 你启动了100个线程,下方的线程加上就是101个,这样就会有100个线程输出1,一个线程输出2,所以建议你,先改一改代码吧
- 2015-02-23 01:13回答 2 已采纳 The fault is caused in the first case by the atomically updated field not being properly aligned.
- 2020-09-01 09:06pumpkin的玄学的博客 更新一个变量的时候,只有当变量的预期值A和内存地址V当中的实际值相同时,才会将内存地址V对应的值修改为B。 我们看一个例子: 在内存地址V当中,存储着值为10的变量。 2. 此时线程1想把变量的值增加1.对线程1来...
- 2022-08-24 09:52腾讯云开发者的博客 = nil { fmt.Printf("uuid NewUUID err:%+v", err) } // id: 3b4d1268-9150-447c-a0b7-bbf8c271f6a7 length: 36 fmt.Println("id:", id.String(), "length:", len(id.String())) } (二)shortuuid 初始值基于uuid ...
- 2022-10-10 05:55肥肥技术宅的博客 /* 接收窗口的最大值,这个值也会动态调整*/ ... struct tcp_options_received rx_opt; /* 接收选项 */ u32 mss_cache; /* Cached effective mss, not including SACKS */} struct tcp_options_received { .....
- 2022-08-01 07:01云满笔记的博客 该操作简称CAS(CompareAndSwap),第一个参数的值应该是指向被操作值的指针值,该值的类型即为*int32,后两个参数的类型都是int32类型,它们的值应该分别代表被操作值的旧值和新值,函数在被调用之后会先判断参数addr指向...
- 没有解决我的问题, 去提问
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司