public void giveTrust(final CoupleTrust action, final Object... objects)
{
final L2PcInstance player = (L2PcInstance) objects[0];
if (player == null)
{
return;
}
switch(action)
{
//Some code here about each case. Ex.
case PVP:
if (objects[1] !=null && objects[1] != player)
{
//Some code
}
break;
}
}
每次玩家杀死某人或杀死怪物e.t.c时,都会调用我的方法
所以基本上如果我们说500-900名玩家,这种方法可以每分钟大约1500次调用AVRG。
执行的代码并不大或重,主要是一些检查(null,获取数组值,计算距离e.t.c)但问题是同步有问题吗?我的意思是不同的类可以访问此方法(超过20个)。这会导致同步问题,特别是当它被执行多次时?我通过SingletonHolder
称呼它:
public static final CoupleManager getInstance()
{
return SingletonHolder._instance;
}
private static class SingletonHolder
{
protected static final CoupleManager_instance= new CoupleManager();
}
所以有人能告诉我吗?我必须使用同步吗?