V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  amiwrong123  ›  全部回复第 25 页 / 共 40 页
回复总数  787
1 ... 21  22  23  24  25  26  27  28  29  30 ... 40  
2020-08-22 16:12:49 +08:00
回复了 amiwrong123 创建的主题 Java 为什么 CompletableFuture 的 thenApplyAsync 没有新起一个线程?
@zyoo
多试几次也一样。我怀疑这跟 ForkJoinPool.commonPool()的线程调度有关系,但我现在还没来得及看它的原理呢。。
2020-08-22 15:56:32 +08:00
回复了 amiwrong123 创建的主题 Java 为什么 CompletableFuture 的 thenApplyAsync 没有新起一个线程?
@passerbytiny
没说不可以,它们之间肯定是串行的,但不一定是同一个线程吧。从源码上可见,supplyAsync 的线程并不是直接执行下一个 task 的,因为它 e.execute(this)之后就马上返回了。
2020-08-17 10:43:06 +08:00
回复了 amiwrong123 创建的主题 Java FutureTask 里使用普通语义而不是 CAS 写的原因是?
@BBCCBB
volatile 变量的修改可以立刻让所有的线程可见,这个确实很好理解,对于同一个字段来说。

但其实,对 A 字段的 CAS 写操作,可以让其他所有字段的普通写操作,也马上可见。我这么理解对不
2020-08-04 21:58:54 +08:00
回复了 amiwrong123 创建的主题 Java PriorityBlockingQueue 的构造器好奇怪啊?
@mind3x
大佬,还想问个问题:
就是你 1 楼给的泛型函数里,
为什么一定要声明 Comparable<? super T> key = (Comparable<? super T>) x;
我觉得声明成 Comparable<T> key = (Comparable<T>) x;就完全可以了啊,完全不理解为啥这样。

因为 key.compareTo((T) e)比较时,也是和确定的 T 类型进行比较的啊。
2020-08-04 11:49:47 +08:00
回复了 amiwrong123 创建的主题 Java PriorityBlockingQueue 的构造器好奇怪啊?
@mind3x
谢谢回复

原来如此,大概就是:
Integer[] array = new Integer[5];
Comparable<?> aa = (Comparable<?>)(new Integer(1));
array[4] = aa;//编译报错

我也很好奇为什么不把 array[k]=key 改成 array[k] = x,这样构造器里面就不用转换数组类型了嘛

PriorityBlockingQueue<E>的声明,你不提醒我,我都没注意到这一点。
2020-08-02 00:21:14 +08:00
回复了 amiwrong123 创建的主题 程序员 如何打印一个基于数组的完全二叉树
@fuxiuyin
@msg7086

哈哈,我想到怎么实现了。大概就是这样 https://blog.csdn.net/anlian523/article/details/107732532
幸亏 @fuxiuyin 老哥提醒了我,数字和数字之间三个空格,我就直接让最后一层(也就是宽度最宽的那一层)的数字之间都间隔三个空格。
2020-08-01 14:39:17 +08:00
回复了 amiwrong123 创建的主题 程序员 如何打印一个基于数组的完全二叉树
@fuxiuyin
我现在先考虑数字都是一位数的,能实现就行,两位数的话再优化😂
2020-08-01 13:36:00 +08:00
回复了 amiwrong123 创建的主题 程序员 如何打印一个基于数组的完全二叉树
@msg7086
思路确实有问题,不过我感觉吐空格不是那么简单,层数一多起来( 5,6 层)的时候,各个层数字之间的空格可能都不一样。有点费脑细胞了。。
2020-07-30 12:18:47 +08:00
回复了 amiwrong123 创建的主题 Java 如何比较清楚得解释这几个阻塞队列使用的 lock 的数量
@wysnylc
什么,这是个什么梗么
@mythabc
搜了下这个牌子,你的也是那种后面有跟绳的呗
2020-07-25 12:06:26 +08:00
回复了 amiwrong123 创建的主题 Java ConcurrentLinkedQueue 的内存一致性是如何保证的?
@falsemask
node 的 next 指针是 volatile 的,要想入队,就得 CAS 修改 last node 的 next 指针。只有修改成功了,别的线程才能从队列出发找到这个新 node,才可能对它进行访问或删除。

所以重点在于 node 的 next 指针是 volatile 的呗
2020-07-25 12:03:43 +08:00
回复了 amiwrong123 创建的主题 Java ConcurrentLinkedQueue 的内存一致性是如何保证的?
@secondwtq
看来我的英文水平有待提高,确实应该你这个意思。之前完全理解错了。。网络上各个博客关于这句话,居然还都是我这么翻译的。。
2020-07-21 11:07:13 +08:00
回复了 amiwrong123 创建的主题 Java 我现在连个三目表达式都看不懂了…
@yamasa
嗯,好像是。尤其是无锁编程 lock free 实现的那几个类(比如那个 concurrent 跳表),不看注释根本看不懂啊
2020-07-21 10:37:01 +08:00
回复了 amiwrong123 创建的主题 Java 我现在连个三目表达式都看不懂了…
@vansouth
本帖的主题可能要变成 简洁性 和 可读性 的争辩了。
2020-07-21 10:34:54 +08:00
回复了 amiwrong123 创建的主题 Java 我现在连个三目表达式都看不懂了…
@apporoad
哈哈哈哈,老哥你挺逗
2020-07-21 10:33:05 +08:00
回复了 amiwrong123 创建的主题 Java 我现在连个三目表达式都看不懂了…
@fakeshadow
额,可是三目表达式这里没涉及到 cas 啊,只有 valitale 读
2020-07-21 10:31:45 +08:00
回复了 amiwrong123 创建的主题 Java 我现在连个三目表达式都看不懂了…
@talen666
哪段代码,让我也康康,话说你说的是 reentrantlock 么
2020-07-20 19:33:00 +08:00
回复了 amiwrong123 创建的主题 Java 感觉 Lambda 加上递归调用,就有点搞不懂运行过程了
@no1xsyzy
是的,并不是递归
2020-07-20 18:31:26 +08:00
回复了 amiwrong123 创建的主题 Java 我现在连个三目表达式都看不懂了…
@szzhiyang
原来这就是 go 吗,爱了爱了
1 ... 21  22  23  24  25  26  27  28  29  30 ... 40  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1044 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 23:18 · PVG 07:18 · LAX 15:18 · JFK 18:18
Developed with CodeLauncher
♥ Do have faith in what you're doing.