一个比较【有意思】的问题

sxyjjj 2015-01-21 09:30:49
比如有个对象初始化要10分钟,那我现在拿到这个对象在内存里的地址了,可是并不知道这个对象是否已经完全初始化完成。
请问有什么好的办法?
...全文
242 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yktd26 2015-01-25
  • 打赏
  • 举报
回复
引用 4 楼 sxyjjj 的回复:
[quote=引用 1 楼 Inhibitory 的回复:] 用一个boolean变量表示是否初始化已经完成。
....换点优雅的方式好不好。。 [/quote] new 个对象需要十分钟,这件事情本身就不怎么优雅 ...
  • 打赏
  • 举报
回复
引用 5 楼 sxyjjj 的回复:
[quote=引用 2 楼 dcxy0 的回复:] 未初始化之前,你怎么拿到地址的呢?
X x =new X(); 其实就是这个意思。。 拿到x这个东西了 [/quote] 这个难道不是对象初始化完成后 才跟引用联系起来的? 在对象不存在之前 单纯声明 x 不就是类似一个值为null的指针变量吗
skyhitnow 2015-01-25
  • 打赏
  • 举报
回复
构造器里开个线程,先睡它十分钟。
clonghoo 2015-01-24
  • 打赏
  • 举报
回复
我的理解是初始化都没有完成那来的地址引用,毕竟是有执行流程的
fsneak 2015-01-24
  • 打赏
  • 举报
回复
这个。。。让我想起了那个著名的内存模型的问题啊。 其实是有可能在构造函数完成前就已经就已经给那个变量赋值了。 主要缘于指令的重排序。
skyhitnow 2015-01-23
  • 打赏
  • 举报
回复
当这条语句成功执行的话,初始化肯定完成了。 好比你进了饭店,点了菜,菜都端上来了,你难道还不知道菜做好没有吗?
淡定的峰哥 2015-01-23
  • 打赏
  • 举报
回复
如果将要初始化的东西放在构造器里面,对象没有初始化完成是不会返回的 如果初始化过程耗时太长,可以考虑在构造器里开启多线程去初始化,前提是各个线程的数据或动作没有依赖
sxyjjj 2015-01-21
  • 打赏
  • 举报
回复
引用 2 楼 dcxy0 的回复:
未初始化之前,你怎么拿到地址的呢?
X x =new X(); 其实就是这个意思。。 拿到x这个东西了
sxyjjj 2015-01-21
  • 打赏
  • 举报
回复
引用 1 楼 Inhibitory 的回复:
用一个boolean变量表示是否初始化已经完成。
....换点优雅的方式好不好。。
sxyjjj 2015-01-21
  • 打赏
  • 举报
回复
引用 楼主 sxyjjj 的回复:
比如有个对象初始化要10分钟,那我现在拿到这个对象在内存里的地址了,可是并不知道这个对象是否已经完全初始化完成。 请问有什么好的办法?
....换点优雅的方式好不好。。
JPF1024 2015-01-21
  • 打赏
  • 举报
回复
未初始化之前,你怎么拿到地址的呢?
Inhibitory 2015-01-21
  • 打赏
  • 举报
回复
用一个boolean变量表示是否初始化已经完成。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧