作者cowbaying (是在靠北喔)
看板java
标题Re: [问题] 资料的比较、插入、排序
时间Mon Sep 5 13:54:34 2016
schedule.addtask(new Task(2, 20, 'A1'));
schedule.addtask(new Task(8, 10, 'A2'));
schedule.addtask(new Task(10, 15, 'A3'));
schedule.addtask(new Task(12, 10, 'A4'));
taskBs.add(new Task(2, 2, 'B1')); (实际长度8)
taskBs.add(new Task(12, 10, 'B2')); (实际长度26)
taskBs.add(new Task(22, 3, 'B3')); (实际长度29)
taskBs.add(new Task(12, 50, 'B4')); (实际长度66)
A1 A2 A3 A4
|>!---------|>>>>-----|>>>>>-------|>>>>>>-----
|>-! |>>>>>>-----|>>>>>>>>>>>-|>>~~~
B1 B2 B3 B4
我对这个机制的理解如上图
A是主要的
B能否执行要看A延迟的时间是否足够把B插入、执行、延迟跟切换回A的时间容纳进去
原PO的文字描述实在是看不太懂
如果B的延迟时间会连带延迟到A的时间
那麽根本不须排序了
A执行完换B就好
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.127.231.87
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1473054876.A.1FA.html
1F:→ gene07: 是的.. 09/06 12:36
2F:→ cowbaying: 所以是我理解的这样? 09/06 12:52
3F:→ gene07: 对QQ 09/06 14:12
4F:→ gene07: 但就是上面B那个实际长度不太对..如果A的delay时间够长 09/06 14:14
5F:→ gene07: 可以容纳两次B 那你写的实际长度就不对了..QQ 09/06 14:14
6F:→ gene07: 因为如果B可以连续做两次 那来回时间就只有第一次从A到B 09/06 14:16
7F:→ gene07: 跟B做完两次後回到A 09/06 14:16
8F:→ cowbaying: 所以这是个循环? 09/06 15:08
9F:→ cowbaying: 同一个B可以多次执行? 09/06 15:11
10F:→ gene07: 同一个B是什麽意思?? 09/06 15:24
11F:→ gene07: taskBs.add(new Task(2, 2, 'B1')); 09/06 15:25
12F:→ gene07: taskBs.add(new Task(12, 10, 'B2')); ...都只执行一次 09/06 15:25
13F:→ cowbaying: gene麻烦你也画一个流程图吧 XDDD 实在看不懂... 09/06 15:29