public class BurstSelector extends Object implements DatesSelector
日期可以对齐到某个时间刻度的整个步长。例如,如果使用3600秒的休息时间,并将对齐时间刻度设置为UTC
,则每个突发的最早日期将在UTC时间的整点出现。
注意!此类在内部存储了最后选择的日期,因此它既不可在多个固定步长
或连续
调度器之间重复使用,也不是线程安全的。在多线程环境中,每个调度器和每个线程应使用单独的选择器。
Constructor and Description |
---|
BurstSelector(int maxBurstSize, double highRateStep, double burstPeriod, TimeScale alignmentTimeScale)
简单构造函数。
|
Modifier and Type | Method and Description |
---|---|
List<AbsoluteDate> |
selectDates(AbsoluteDate start, AbsoluteDate end)
在一个区间内选择日期。
|
public BurstSelector(int maxBurstSize, double highRateStep, double burstPeriod, TimeScale alignmentTimeScale)
burstPeriod
忽略了突发本身的持续时间。这意味着,如果应该使用burstPeriod=300s
选择每个间隔为highRateStep=100ms
的256个日期的突发,则第一个突发将包含从t0
到t0+25.5s
的256个日期,第二个突发将从t0+300s
开始,而不是从t0+325.5s
开始。
如果需要对齐到某个时间刻度,则仅适用于每个突发中的第一个日期。
maxBurstSize
- 突发中选择的日期的最大数量
highRateStep
- 突发内两个连续日期之间的步长(秒)
burstPeriod
- 每个突发开始之间的周期(秒)
alignmentTimeScale
- 突发中第一个日期的对齐时间刻度(如果不需要对齐,则为null)
public List<AbsoluteDate> selectDates(AbsoluteDate start, AbsoluteDate end)
start
和end
日期可以是直接或反向的时间顺序。列表的顺序与start
和end
相同,即如果start
早于end
,则按照直接时间顺序生成列表,如果start
晚于end
,则按照反向时间顺序生成列表。
调用之间不应更改排序(直接或反向时间顺序),否则可能导致不可预测的结果。
selectDates
在接口 DatesSelector
start
- 区间开始
end
- 区间结束
Copyright © 2002-2023 CS GROUP. All rights reserved.