V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  giiiiiithub  ›  全部回复第 2 页 / 共 5 页
回复总数  100
1  2  3  4  5  
83 天前
回复了 Umenezumi 创建的主题 Java JDK21 是否有必要维护虚拟线程池?
讲个笑话,golang 生态是有池化 goroutine 的 (狗头
synchronized 关键字和 threadlocal 的问题还没解决。。。。
88 天前
回复了 Vcide 创建的主题 程序员 请教一下这种系统到底应该怎么设计
B 处理完之后往特定通道发送通知消息,谁感兴趣谁订阅处理。
88 天前
回复了 ZZMine 创建的主题 Java 问一个线程通信的问题
有两个原因,展开讲一下第一个原因。

这个例子中有两个关于锁的队列,一个是 CLH 锁队列,即:获取和释放锁时的队列。还有一个是条件队列,即 notify/wait/signal/await 这种。

在需要所但是没有获取到锁的时候,线程进入锁队列。当线程获取到锁又 wait/await 的时候,它会做两个动作
1. 释放锁
2. 线程转移到条件队列,不再在所队列中。

这个例子中会出现问题:

1. 在初始队列为空,假设当生产线程添加 1 个元素、notify 并退出同步代码块之后,那么会有多个消费者线程从条件队列转移到了锁队列中,并且有一个消费者线程获取到了锁。

2. 如果不用 while ,而是用 if ,那么当获取到锁的消费者线程消费完,队列为空,此时消费者释放锁,这会导致其他消费者线程重新竞争锁。因为它们现在是在锁队列中,而不是在条件队列中。不幸的是,现在队列中唯一的元素已经被消费了。

3. 用 while 就不一样了,用 while ,虽然有多个消费者线程重新竞争锁,并且有一个竞争成功,但是它在判断队列为空之后,又会因为 await/wait 进入条件队列
这种场景可以在恢复后先清空缓存,清空后再给应用使用
193 天前
回复了 hpj 创建的主题 程序员 请问这是什么加密方式?
@haleclipse 都很牛哈哈,感谢
193 天前
回复了 hpj 创建的主题 程序员 请问这是什么加密方式?
@Nitroethane 好牛啊哥,你咋知道的
194 天前
回复了 xloger 创建的主题 Java 请教个 Java LinkedList 用法的问题
@giiiiiithub 修正:因为很少有场景只是增删改 、遍历,而没有随机访问
194 天前
回复了 xloger 创建的主题 Java 请教个 Java LinkedList 用法的问题
因为很少有场景只是 append 、遍历,而没有随机插入、访问
2022-05-22 23:18:45 +08:00
回复了 chanlk 创建的主题 Java Java Happens-before 的疑问
人家两个说的是“假设”啊,有啥问题?
2022-03-21 22:20:29 +08:00
回复了 frank1256 创建的主题 Java Java ,大量对象内存中计算, oom 怎么处理哇。
可以考虑下预计算(当然,复杂的话不一定可以
2022-03-20 14:42:50 +08:00
回复了 a90120411 创建的主题 分享创造 为了管理我的 4 万个书签,我写了个插件
可怕。。。
2022-03-20 14:19:06 +08:00
回复了 Ashore 创建的主题 程序员 关于借钱那点儿事儿
问他裸聊照片有没有流出(狗头
2022-03-19 13:27:10 +08:00
回复了 cxsz 创建的主题 Java 被怼的莫名奇妙的,这么写会出空指针?
stationId 如果事实不可能为空的话,你让他给你造一个 null 出来试试。

可能为空的话就 filter 一下完事。

另外,判断 list 是否 empty 有点多余了(前提 list 不为 null )
json 就是 json ,前端要用,后端也要用 (狗头
人生就这样,凑合过吧(狗头
1  2  3  4  5  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5386 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 37ms · UTC 09:26 · PVG 17:26 · LAX 02:26 · JFK 05:26
Developed with CodeLauncher
♥ Do have faith in what you're doing.