Skocz do zawartości
  • 0
HotAngel2K17

Czy ilość listenerów ma znaczenie?

Pytanie

10 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

Użytkownik
  • 0

Dużego wpływu to raczej nie ma, ale pomyśl, że serwer rejestruje np. 5 eventów zamiast 1, czyli podczas np. tego InventoryClick silnik odbiera 5 eventów zamiast 1, ale rób jak chcesz bo jak mówiłem dużego wpływu to nie robi. Chociaż ja jestem zdania, że powinno się robić wszystko w 1 evencie. Można to porównać np. do BukkitRunnable czyli np. po co robić 5 runnablów o tym samym czasie jak można zrobić 1.

 

Przykład:

Spoiler
public class ThreadNumber extends BukkitRunnable 
{
    @Override
    public void run()
    {
        Bukkit.getWorlds().get(0).setTime(0L);
    }
}
public class ThreadNumber extends BukkitRunnable 
{
    @Override
    public void run()
    {
        Bukkit.getWorlds().get(0).strikeLightning(Bukkit.getWorlds().get(0).getSpawnLocation());
    }
}

 

I tak dalej... zamiast:

public class WorldThread extends BukkitRunnable 
{
    @Override
    public void run()
    {
        Bukkit.getWorlds().get(0).setTime(0L);
        Bukkit.getWorlds().get(0).strikeLightning(Bukkit.getWorlds().get(0).getSpawnLocation());
    }
}

 

Jednak listenery to nie runnable i działają po wykonaniu jakiejś czynności a nie w ścisłym czasie jednak większy sens jest robić w jednym listenerze ;P 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
9 minut temu, STEINER napisał:

Dużego wpływu to raczej nie ma, ale pomyśl, że serwer rejestruje np. 5 eventów zamiast 1, czyli podczas np. tego InventoryClick silnik odbiera 5 eventów zamiast 1, ale rób jak chcesz bo jak mówiłem dużego wpływu to nie robi. Chociaż ja jestem zdania, że powinno się robić wszystko w 1 evencie. Można to porównać np. do BukkitRunnable czyli np. po co robić 5 runnablów o tym samym czasie jak można zrobić 1.

 

Przykład:

Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! Ukryj zawartość

public class ThreadNumber extends BukkitRunnable 
{
    @Override
    public void run()
    {
        Bukkit.getWorlds().get(0).setTime(0L);
    }
}

public class ThreadNumber extends BukkitRunnable 
{
    @Override
    public void run()
    {
        Bukkit.getWorlds().get(0).strikeLightning(Bukkit.getWorlds().get(0).getSpawnLocation());
    }
}

 

I tak dalej... zamiast:

public class WorldThread extends BukkitRunnable 
{
    @Override
    public void run()
    {
        Bukkit.getWorlds().get(0).setTime(0L);
        Bukkit.getWorlds().get(0).strikeLightning(Bukkit.getWorlds().get(0).getSpawnLocation());
    }
}

 

Jednak listenery to nie runnable i działają po wykonaniu jakiejś czynności a nie w ścisłym czasie jednak większy sens jest robić w jednym listenerze 😜

no niby tak. Ale można to także porównać do metody onCommand. Bo też robi się oddzielne klasy do niej, i sprawdza za każdym razem komendy, więc w sumie jakby się chciało robić wszystko "najlepiej" komendy też musiałyby być w jednej klasie.

Ale dzięki za poradę

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
1 godzinę temu, STEINER napisał:

Dużego wpływu to raczej nie ma, ale pomyśl, że serwer rejestruje np. 5 eventów zamiast 1, czyli podczas np. tego InventoryClick silnik odbiera 5 eventów zamiast 1, ale rób jak chcesz bo jak mówiłem dużego wpływu to nie robi. Chociaż ja jestem zdania, że powinno się robić wszystko w 1 evencie. Można to porównać np. do BukkitRunnable czyli np. po co robić 5 runnablów o tym samym czasie jak można zrobić 1.

 

Przykład:

Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! Ukryj zawartość

public class ThreadNumber extends BukkitRunnable 
{
    @Override
    public void run()
    {
        Bukkit.getWorlds().get(0).setTime(0L);
    }
}

public class ThreadNumber extends BukkitRunnable 
{
    @Override
    public void run()
    {
        Bukkit.getWorlds().get(0).strikeLightning(Bukkit.getWorlds().get(0).getSpawnLocation());
    }
}

 

I tak dalej... zamiast:

public class WorldThread extends BukkitRunnable 
{
    @Override
    public void run()
    {
        Bukkit.getWorlds().get(0).setTime(0L);
        Bukkit.getWorlds().get(0).strikeLightning(Bukkit.getWorlds().get(0).getSpawnLocation());
    }
}

 

Jednak listenery to nie runnable i działają po wykonaniu jakiejś czynności a nie w ścisłym czasie jednak większy sens jest robić w jednym listenerze 😜

Wlasciwie to taki task powinien wykonywac jedno okreslone zadanie, i zamiast nazwac go worldthread, to np. WeatherClearingRunnable - odpowiada za jedna rzecz - wszystko sie zgadza, kazdy sie w kodzie odnajdzie

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
1 godzinę temu, yooniks napisał:

Wlasciwie to taki task powinien wykonywac jedno okreslone zadanie, i zamiast nazwac go worldthread, to np. WeatherClearingRunnable - odpowiada za jedna rzecz - wszystko sie zgadza, kazdy sie w kodzie odnajdzie

A co do tematu jakas wypowiedz ? Xd

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
10 godzin temu, HotAngel2K17 napisał:

A co do tematu jakas wypowiedz ? Xd

tak jak napisał Ixidi, nie mogłem znaleźć jakiejs klasy która te wszystkie listenery zbiera itd więc ci nie powiem czy to jakaś różnica ale pewnie jakieś nano/mili sekundy więc tego nawet nie odczujesz

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Użytkownik
  • 0
8 godzin temu, yooniks napisał:

tak jak napisał Ixidi, nie mogłem znaleźć jakiejs klasy która te wszystkie listenery zbiera itd więc ci nie powiem czy to jakaś różnica ale pewnie jakieś nano/mili sekundy więc tego nawet nie odczujesz

dzięki, można zamknąć

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Losowy awatar
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×