Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Nowy wątek


Agent K

Rekomendowane odpowiedzi

Opublikowano

Cześć,

jak utworzyć nowy wątek?

 

Próbuję tak ale nie działa:

public class statusCheck implements Runnable {

   private int id;

   public statusCheck(int id) {
       this.id = id;
   }

   public void run() {
       while(true){

       }
   }
}

public static class Runner {
   public static void main(String[] args) {
       Runnable runners = new Runnable;
       Thread threads = new Thread;
       runners = new statusCheck(0);
       threads = new Thread(runners);
       threads.start();
   }
}

4417049059_6234f40fb5.jpg
Storm has passed but the destruction are still visible.

Opublikowano

Eeem.

       Runnable runners = new Runnable;
       Thread threads = new Thread;
       runners = new statusCheck(0);
       threads = new Thread(runners);
       threads.start();

Po pierwsze primo:

od kiedy można tworzyć obiekty "ot tak" bez eeem, konstruktora.

Jak już coś się tworzy to tak:

Object object = new Object();

"nawiasiki" muszą być, nawet jak nie ma argumentów.

 

Po drugie primo:

Runnable to interface, nie mozna sobie od tak, robić new Runnable(), tylko trzeba tak jak zrobiłeś to z klasą statusCheck.

Ewentualnie klasa anonimowa:

Runnable runnable = new Runnable()
  {
    @Override
    public void run()
    {
      // kod
    }
  }

z tym że wtedy tracimy możliwość tworzenia konstruktora

 

Po trzecie primo:

Najprostszy wątek robimy o tak:

Runnable runnable = new Runnable()
  {
    @Override
    public void run()
    {
      // kod
    }
  };
Thread.thread = new Thread(runnable);
thread.start();

oczywiście można tam użyć normalnej klasy.

Lub tworzyć ją od razu podczas tworzenia wątku: 

Thread.thread = new Thread(new Runnable()
  {
    @Override
    public void run()
    {
      // kod
    }
  });
thread.start();

A teraz wykorzystaj to by naprawić swój kod, to chyba nie będzie trudne? :)

 

PS: tak wiem, primo jest jedno.

1438614356923701010629.png

 

Opublikowano

Nawias po nazwie klasy i w nim argumenty konstruktora. W przypadku tablicy kwadratowe z wielkością. Bez problemu znajdziesz z google. Piszę z telefonu, więc poprawienie trochę by mi zajęło.

 

Kolega wyżej pierwszy.

708121422388637873334.png

Opublikowano

Dziękuję za pomoc. Teraz chciałbym tylko żeby nowy wątek uruchamiał się przy starcie/natychmiast po uruchomieniu aplikacji.

Jak daję w onCreate albo onPostCreate to mi się aplikacja wyłącza. Jak mogę to zrobić żeby przy starcie aplikacji uruchamiał się ten wątek?

4417049059_6234f40fb5.jpg
Storm has passed but the destruction are still visible.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...