【发布时间】:2015-10-24 19:27:31
【问题描述】:
我有一个方法可以在 SDN 中接收从交换机到泛光灯控制器的数据包,这意味着每个新的数据包都会触发此方法。我想用那个方法计算每秒的数据包。
这是我的尝试;它是正确的?
int CLoad,avergeLoad =0;
final String switchId = sw.getStringId();
CLoad = CLoad + 1;
avergeLoad = CLoad;
loadTable.put(switchId, avergeLoad);
ScheduledThreadPoolExecutor exec = new ScheduledThreadPoolExecutor(1);
exec.scheduleAtFixedRate(new Runnable()
{
public void run()
{
avergeLoad =(avergeLoad + CLoad)/2;
loadTable.put(switchId, avergeLoad);
CLoad=0;
}
}, 40, 1000, TimeUnit.SECONDS);
【问题讨论】:
-
这甚至不应该编译。您正在引用一个未分配的变量。目前尚不清楚您要做什么,即使在使其可编译后也没有人能说它是否正确。