darkstar(sgs) Task 测试(2)

修改代码:

 

 

bt2_1.run(); 而非调用AppContext.getTaskManager().scheduleTask(bt2_1);

 

打印:

 

 

这样的结果很奇怪.

 

执行内部子任务开始
线程执行 : 2_1
--执行购买任务--
--当前玩家金钱为 : 9--
--购买后玩家金钱为 : 8--
线程结束 : 2_1
执行了 : 94 毫秒

执行内部子任务结束

 

该实例并非如实例一中,等待父类task完成后再执行,如同,多线程当中的,run()与start()一样.

值的提醒的是:

 

线程执行 : 1_1
--执行购买任务--
--当前玩家金钱为 : 10--
--购买后玩家金钱为 : 9--
执行内部子任务开始
线程执行 : 2_1
--执行购买任务--
--当前玩家金钱为 : 9--
--购买后玩家金钱为 : 8--
线程结束 : 2_1
执行了 : 94 毫秒

执行内部子任务结束
线程结束 : 1_1
执行了 : 94 毫秒

 

前后打印的都是94毫秒,这肯定是不正确的,因为任务2_1执行了94毫秒,1_1还需要执行至少90毫秒.1_1 应当是90+94.可打印却是94毫秒,根据我的分析,这肯定是task超时100ms导致的再执行.其后的

--当前玩家金钱为 : 10--
--购买后玩家金钱为 : 9--

--当前玩家金钱为 : 9--
--购买后玩家金钱为 : 8--

--当前玩家金钱为 : 10--
--购买后玩家金钱为 : 9--

--当前玩家金钱为 : 9--
--购买后玩家金钱为 : 8--

一直不改变印证了这一点,所以,这样形式的调用task是错误的.这只是将一个task当做一个函数在调用!

即便将task存放private ManagedReference<BuyTask2> subTaskRef.依旧同上...

--当前玩家金钱为 : 10--
--购买后玩家金钱为 : 9--

--当前玩家金钱为 : 9--
--购买后玩家金钱为 : 8--

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值