Crear un hilo de ejecución Tres maneras: para lograr la interfaz invocable

Interfaz invocable

① Java 5.0 proporciona una nueva manera de crear un hilo de ejecución en java.util.concurrent: Callable Interface
interfaz invocable ② es similar a Ejecutable, ambos de los cuales son ejemplos de esas clases pueden ser ejecutadas por otro diseño de rosca.

     Ejecutable, pero no devuelve resultados, y no se puede lanzar excepciones controladas.
③ rescatable dependen FutureTask, FutureTask pestillo también puede ser utilizado

TestCallable

Pena de paquete para com.aff.juc; 

Importación java.util.concurrent.Callable;
 Importación java.util.concurrent.FutureTask; 

/ * 1. Crear un hilo de tres vías de ejecución: implementa la interfaz invocable en comparación con la interfaz runable manera 
      método puede devolver un valor, y puede quedarse sin excepción. 
   2. ejecutar modo de interfaz invocable, es necesario para lograr la clase FutureTask apoyo, para recibir el resultado de la operación. 
      clase de implementación futura es FutureTask interfaz 
   
* / 
público  de clase TestCallable {
     públicas  estáticas  void main (String [] args) { 
        ThreadDemo4 TD4 = nueva nueva ThreadDemo4 ();
         // 1. modo de ejecución rescatable, es necesario para lograr el apoyo de clase FutureTask, para la recepción de la computación da como resultado 
        un FutureTask, <Integer> = resultado de nuevo nuevo un FutureTask, <>(TD4);
        nueva rosca (resultado) .start ();
        // 2.接收线程运算后的结果
        tratar { 
            Entero suma = result.get (); 
            System.out.println (suma); 
            System.out.println ( "-----------" ); 
        } Catch (Exception e) { 
            e.printStackTrace (); 
        } 
    } 
} 

/ * 
 * ThreadDemo3 clase implementa Runnable { 
 * 
 * @ Override public void run () {}} 
 * / 

clase ThreadDemo4 implementos que se puede llamar <entero> { 

    @ Override
    pública de enteros llamada () lanza la excepción {
         int suma = 0 ;
        para ( int i = 0; i <100; i ++ ) { 
            System.out.println (i); 
            suma + = i; 
        } 
        Devolver suma; 
    } 
}

 

Supongo que te gusta

Origin www.cnblogs.com/afangfang/p/12631477.html
Recomendado
Clasificación