Сообщений: 1,912
Тем: 56
Зарегистрирован: Jan 2009
Репутация:
12,921
08-06-2012, 10:47 PM
(Сообщение последний раз редактировалось: 08-06-2012, 10:58 PM VISTALL.)
я дурак , учить небуду.
хотя нет - буду
KilRoy Написал:Делайте как вам удобно. Вы просили вариант, вам дали 2ва (Щас поясню 2й, как сказал Визор, и что я имел введу):
Код: ThreadPoolManager.getInstance().scheduleGeneral(new runStaticClass(player, sp), 5000L);
private class runStaticClass extends RunnableImpl
{
private Player _player;
private IStaticPacket _sp;
runStaticClass(Player player, IStaticPacket sp)
{
_player = player;
_sp = sp;
}
@Override
public void runImpl()
{
_player.sendPacket(_sp);
}
}
а ты скомпилируй код этот и посмотри в декомпиляторе
Код: public class Test
{
private class InnerClass
{
InnerClass(Test a ){}
}
}
Код: package g;
class Test$InnerClass
{
Test$InnerClass(Test paramTest1, Test a)
{
}
}
фау. да7
Сообщений: 183
Тем: 8
Зарегистрирован: Dec 2011
Репутация:
89
А зачем Inner классу там конструктор, ему же и так доступны поля внешнего класса, или я что-то недопонял..
Сообщений: 1,912
Тем: 56
Зарегистрирован: Jan 2009
Репутация:
12,921
j4ckTheRipp Написал:А зачем Inner классу там конструктор, ему же и так доступны поля внешнего класса, или я что-то недопонял..
 во хоть ктото умный
Сообщений: 2,101
Тем: 40
Зарегистрирован: Apr 2008
Репутация:
12,296
VISTALL Написал:я дурак , учить небуду.
хотя нет - буду
а ты скомпилируй код этот и посмотри в декомпиляторе
Код: public class Test
{
private class InnerClass
{
InnerClass(Test a ){}
}
}
Код: package g;
class Test$InnerClass
{
Test$InnerClass(Test paramTest1, Test a)
{
}
}
фау. да7
Собственно и что? Как бы кэп намекает - как просит автор, так ему и отвечают. Я вообще за Треад.старт
Сообщений: 74
Тем: 23
Зарегистрирован: Jul 2012
Репутация:
-28
Пожалуйста подскажите, а как быть вот здесь:
кусок кода из Say2.java
Код: case SHOUT:
////////////////
for (int i = 0; i < otlov.length; i++)
{
if(otlov[i].equalsIgnoreCase(_text))
{
CreatureSay dc = new CreatureSay(0, 1, getRandomSender(), getRandomText());
int region = MapRegionTable.getInstance().getMapRegion(activeChar.getX(), activeChar.getY());
for(L2PcInstance player : L2World.getInstance().getAllPlayers())
{
if(region == MapRegionTable.getInstance().getMapRegion(player.getX(), player.getY()))
{
player.sendPacket(cs);
}
//ПАУЗА 5 сек
player.sendPacket(dc);
}
....
}
отметил комментарием, где должна быть пауза. все происходит внутри класса, и как тут реально повесить сверху Run не трогая основной класс?
clan: Soprano :redlol:
Сообщений: 4,692
Тем: 85
Зарегистрирован: Mar 2009
Репутация:
23,364
doDie Написал:Пожалуйста подскажите, а как быть вот здесь:
кусок кода из Say2.java
Код: case SHOUT:
////////////////
for (int i = 0; i < otlov.length; i++)
{
if(otlov[i].equalsIgnoreCase(_text))
{
CreatureSay dc = new CreatureSay(0, 1, getRandomSender(), getRandomText());
int region = MapRegionTable.getInstance().getMapRegion(activeChar.getX(), activeChar.getY());
for(L2PcInstance player : L2World.getInstance().getAllPlayers())
{
if(region == MapRegionTable.getInstance().getMapRegion(player.getX(), player.getY()))
{
player.sendPacket(cs);
}
//ПАУЗА 5 сек
player.sendPacket(dc);
}
....
}
отметил комментарием, где должна быть пауза. все происходит внутри класса, и как тут реально повесить сверху Run не трогая основной класс?
А чем Вам не угодил ThreadPoolManager?
Fortuna - non penis, in manus non recipe.
Сообщений: 376
Тем: 12
Зарегистрирован: Jul 2012
Репутация:
1,000
что хотите сделать? Спросим так.
Сообщений: 183
Тем: 8
Зарегистрирован: Dec 2011
Репутация:
89
Код "немного" странный какой-то =), да и вообще в классах-пакетах нельзя делать таких тяжелых операций
Сообщений: 1,484
Тем: 12
Зарегистрирован: Mar 2010
Репутация:
2,994
ТС не понимает, что ему предлагают код телепорта повесить в тред и запускать его через пул.
Дорогой ТС вы понимаете что вам советуют сделать для решения вашего вопроса?
Сообщений: 252
Тем: 2
Зарегистрирован: Mar 2012
Репутация:
902
Человек явно не понимает чем отличается желаемый Thread.sleep() от запуска через ThreadPoolManager с установленной задержкой.
Предлагаю все же выложить код, который не позволяет использовать отложенный запуск, думаю, вам посоветуют как сделать лучше. Но точно не через sleep().
P.S. Кто-то выше писал, что он за Thread start(). А мы за Thread run()
|