IE盒子

搜索
楼主: 飞行员

Java的Future机制详解

[复制链接]

4

主题

9

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2023-1-18 20:24:17 | 显示全部楼层
我是这么想的,volatile 的 可见性是体现多个线程之间对 volatile 变量的值的更新 可见。
outcome 的 设值和取值都被 state 保护了(顺序性),一个任务执行成功后的设值(产生执行结果)只是发生过一次,取值操作会被因为 state值不满足取值条件而阻塞要取值的线程,这些线程进入等待,等待任务执行完成后的unpark ,之前等待的线程就可以进行取值了。
不会影响到 outcome 在多个取值线程中不一致。
回复

使用道具 举报

2

主题

6

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2023-1-18 20:24:48 | 显示全部楼层
生成input1线程休眠3秒  生成input2线程休眠2秒
回复

使用道具 举报

2

主题

4

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2023-1-18 20:25:09 | 显示全部楼层
[赞]
回复

使用道具 举报

1

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2023-1-18 20:25:35 | 显示全部楼层
我是房东
欢呼
回复

使用道具 举报

2

主题

6

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2023-1-18 20:26:28 | 显示全部楼层
[捂脸]这。。。
回复

使用道具 举报

2

主题

5

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2023-1-18 20:26:57 | 显示全部楼层
[谢邀]
回复

使用道具 举报

1

主题

4

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2023-1-18 20:27:09 | 显示全部楼层
jdk15中以及没有cas的那一段代码了 好像被一个什么锁相关的代替了
回复

使用道具 举报

0

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2023-1-18 20:28:08 | 显示全部楼层
不是很理解。两个子线程不是同时休眠的吗?[好奇]
回复

使用道具 举报

2

主题

5

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2023-1-18 20:28:38 | 显示全部楼层
不懂3+2哪来的
回复

使用道具 举报

2

主题

7

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2023-1-18 20:29:33 | 显示全部楼层
运行一下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表