Wpis z mikrobloga

Czemu jak mam u siebie podobny kod jak na picrel to eclipse wyrzuca mi błąd że w klasie NowyWatek nie mam metody start()? czy to nie powinno działać tak że przy implementacji runnable funkcja start() uruchamia run()?

U mnie to wygląda tak:

public class Main {
public static void main(String[] args) throws InterruptedException {
StringTask task = new StringTask("A", 70000);
System.out.println("Task " + task.getState());
task.start();
}
}

public class StringTask implements Runnable{
private String tekst;
private int liczba;
private TaskState state;

public StringTask (String tekst, int liczba) {
this.tekst = tekst;
this.liczba = liczba;
}

public void run() {
try {
for (int i = 0; i < liczba; i++) {

}
}catch (InterruptedException e) {}

}
public TaskState getState() {
return state;
}
}

I w sumie jeszcze drugie pytanie:
Czy do konstruktora TaskState mogę wrzucić this.state = CREATED? Dostaję błąd "CREATED cannot be resolved to a variable"

enum u mnie wygląda tak:

public enum TaskState {
CREATED, RUNNING, ABORTED, READY
}

#pomocy #programowanie #kiciochpyta #java
lukmar - Czemu jak mam u siebie podobny kod jak na picrel to eclipse wyrzuca mi błąd ...

źródło: comment_yaBCvfi9pK69n5gytgaCagCPjlehBoOW.jpg

Pobierz
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@lukmar: Twoja klasa implementuje runnable to jest tylko task który możesz przekazać nowemu wątkowi. Albo (new Thread(new TwojaKlasa)).start() albo niech twoja klasa extenduje klase Thread.
  • Odpowiedz