2016-02-29 1 views
0

Я пытался бить многопоточность, но я могу получить ошибку, может кто-нибудь мне помочь, я меняю партию дыр, но я havent нашел способ устраните проблему: «Нет доступного экземпляра типа programa4. Должен квалифицировать выделение с помощью экземпляра-экземпляра типа programa4 (например, xnew A(), где x является экземпляром programa4)». Спасибо за все.Доступный экземпляр типа не доступен. Ошибка и может любой орган помочь мне, я пытаюсь изменить все, но нет результата

public class programa4 { 

public static void main(String[] args) { 

    int t=Integer.parseInt(args[0]); 
    int x=1;    

    String z=args[1]; 

      while(x<=t){ 
       System.out.println("Iniciando hilo "+x); 
       new hilo(z).start(); 
       x=x+1; 
      } 
} 
class hilo extends Thread{ 
int num; 
String z; 
hilo(String z){ 
    this.num=Integer.parseInt(z); 
} 

public void run() { 
    int t=1; 
    while(t<=num){ 
    System.out.println("Generando iteracion: "+ t); 
    double x=Math.random()*10; 
    System.out.println("Esperando "+ x +" segundos"); 
    try { 
     Thread.sleep((long)x*1000); 
     System.out.println("Iteracion terminada"); 


    } catch (InterruptedException e) { 
     System.out.println("Se interrumpio."); 
    } 
    t=t+1; 
    } 
    System.out.println("Terminado hilo."); 

} 
} 
} 
+0

'static class hilo extends Thread '- добавить ** static **. – OldCurmudgeon

+1

Возможный дубликат [Java - нет экземпляра экземпляра типа Foo доступен] (http://stackoverflow.com/questions/9560600/java-no-enclosing-instance-of-type-foo-is-accessible) – Raedwald

ответ

2

Как hilo является inner class из programa4 должно быть isnstance из programma4 первых, прежде чем вы можете создать внутренний для него.

Выполнение этого требования static class hilo брейк это требование.

static class hilo extends Thread { 

Альтернативой было бы создать programa4, чтобы прикрепить ее к.

new programa4().new hilo(z).start(); 
+0

Спасибо, это работа, я не думал об этом –

Смежные вопросы