• 线程-初步


    一、java中线程的两种方式:

      1.通过实现Runnable()接口;

      2.通过继承Thread类来实现;

    下面我们分别来实现这两种方式:

         1.实现Runnable()接口

     1 public class thd 
     2 {
     3     public static void main(String args[])
     4     {
     5         runner1 r1= new runner1();
     6         Thread td1 = new Thread(r1);
             td1.start();
    11         
    12         for(int i=0;i<10;i++)
    13         {
    14             System.out.println("Main() :"+i);
    15         }
    16     }
    17 }
    18 
    19 class runner1 implements Runnable
    20 {
    21     public void run()
    22     {
    23         for(int i=0;i<10;i++)
    24         {
    25             System.out.println("Runner1 :"+i);
    26         }
    27     }
    28 }
    29 
    30 

     这种方法使用较为普遍和广泛,因为从Thread类继承以后就不能从其他的类继承,而实现Runnable()接口的方式可以从其他类继承并且还可以实现其他接口.

     接口的实现run()方法是线程体,需要将该类的对象传到Thread类对象当中;

    2.通过Thread类继承的方式:

     1 public class thd 
     2 {
     3     public static void main(String args[])
     4     {
     5         runner1 r1= new runner1();
     6         r1.start();
     7         
     8         for(int i=0;i<10;i++)
     9         {
    10             System.out.println("Main() :"+i);
    11         }
    12     }
    13 }
    14 
    15 class runner1 extends Thread
    16 {
    17     public void run()
    18     {
    19         for(int i=0;i<10;i++)
    20         {
    21             System.out.println("Runner1 :"+i);
    22         }
    23     }
    24 }

     能用Runnable()接口的方式就不要用这种方式。

    二.线程中的方法:

        1.join()将线程合并为一个线程,也就是和单线程调用函数结果一样

     1 import java.util.*;
     2 public class thd 
     3 {
     4     public static void main(String args[])
     5     {
     6         runner1 r1= new runner1();
     7         r1.start();
     8         try
     9         {
    10             r1.join();
    11         }
    12         catch(InterruptedException e)
    13         {
    14             e.printStackTrace();
    15         }
    16         for(int i=0;i<5;i++)
    17         {
    18             System.out.println("Main "+i);
    19         }
    20     }
    21 }
    22 
    23 class runner1 extends Thread
    24 {
    25     public void run()
    26     {
    27         for(int i=0;i<5;i++)
    28         {
    29             System.out.println("Runner1 "+i);
    30         }
    31     }
    32 }

    执行结果如下:

        Runner1 0
      Runner1 1
      Runner1 2
      Runner1 3
      Runner1 4
      Main 0
      Main 1
      Main 2
      Main 3
      Main 4

  • 相关阅读:
    tf2 callback
    JAVA 8 新特性 Optional类
    JAVA 8 新特性 Stream API 终止操作
    JAVA 8 新特性 Stream API 中间操作
    牙醫分普通科8類專科
    asterisk todo
    室内空气质量鉴定
    javascript, jquery, nodejs学习2
    firefox extension教程
    Bjarne Stroustrup announces C++ Core Guidelines
  • 原文地址:https://www.cnblogs.com/mu-tou-man/p/3794889.html
Copyright © 2020-2023  润新知