美文网首页
java 多线程

java 多线程

作者: jasonLoving | 来源:发表于2018-08-06 15:16 被阅读0次

               java 项目中默认会开启2个线程,第一主线程,第二个就是垃圾回收线程。多线程实际上就是cpu 不断切换线程,感觉上是同时进行的。

    开起多线程的方法一:

    写个类继承Thread 重写run 方法在run方法中执行线程代码,在主线程中创建类对象执行start 方法。注意是执行start 方法,start方法做了2件事情第一件事就是开启线程,第二件事情就是在线程中执行重写run 方法的代码。

    public class Demo1 {

    public static void main(String[] args) {

    // TODO 自动生成的方法存根

          a A = new a();

          A.start();

          for (int i = 0; i < 10000; i++) {

    System.out.println("i");

    }

    }

    }

    class a extends Thread{

    @Override

    public void run() {

    for (int i = 0; i < 10000; i++) {

    System.out.println("run");

    }

    }

    }

    方法二:

    实现写一个类runnable 接口重新run 方法。创建此类对象A,然后用对象A作为参数创建Thread对象B,再对象B调用start 方法开启线程。

    public class Demo1 {

    public static void main(String[] args) {

    A a = new A();

    Thread thread = new Thread(a);

    thread.start();

          for (int i = 0; i < 10000; i++) {

    System.out.println("i");

    }

    }

    }

    class A implements  Runnable {

    @Override

    public void run() {

    for (int i = 0; i < 10000; i++) {

    System.out.println("run");

    }

    }

    }

    方法三 匿名内部类 创建thread对象里面重写run方法直接调用start方法。

    public class Demo1 {

    public static void main(String[] args) {

          new Thread() {

          public void run() {

          for (int i = 0; i < 10000; i++) {

        System.out.println("run");

        }

          };

          }.start();

          for (int i = 0; i < 10000; i++) {

    System.out.println("i");

    }

    }

    }

    方法四 匿名内部类 创建thread对象A里面参数传一个接口runnable对象B,对象B里面重写run方法

    对象A调用start方法。

    public class Demo1 {

    public static void main(String[] args) {

          new Thread(new Runnable() {

    @Override

    public void run() {

          for (int i = 0; i < 10000; i++) {

    System.out.println("run");

    }

    }

    }

      ).start();

          for (int i = 0; i < 10000; i++) {

    System.out.println("i");

    }

    }

    }

    相关文章

      网友评论

          本文标题:java 多线程

          本文链接:https://www.haomeiwen.com/subject/njuwvftx.html