java 多线程

           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");

}

}

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容