看板 java 關於我們 聯絡資訊
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://www.ptt.cc/bbs/java/M.1473054876.A.1FA.html
gene07: 是的.. 09/06 12:36
cowbaying: 所以是我理解的這樣? 09/06 12:52
gene07: 對QQ 09/06 14:12
gene07: 但就是上面B那個實際長度不太對..如果A的delay時間夠長 09/06 14:14
gene07: 可以容納兩次B 那你寫的實際長度就不對了..QQ 09/06 14:14
gene07: 因為如果B可以連續做兩次 那來回時間就只有第一次從A到B 09/06 14:16
gene07: 跟B做完兩次後回到A 09/06 14:16
cowbaying: 所以這是個循環? 09/06 15:08
cowbaying: 同一個B可以多次執行? 09/06 15:11
gene07: 同一個B是什麼意思?? 09/06 15:24
gene07: taskBs.add(new Task(2, 2, 'B1')); 09/06 15:25
gene07: taskBs.add(new Task(12, 10, 'B2')); ...都只執行一次 09/06 15:25
cowbaying: gene麻煩你也畫一個流程圖吧 XDDD 實在看不懂... 09/06 15:29